json解析错误怎么办?

 我来答
情感核弹
高粉答主

2019-09-29 · 醉心答题,欢迎关注
知道小有建树答主
回答量:2980
采纳率:100%
帮助的人:86.9万
展开全部
1、先检查json格式是否符合标准,各种转义的地方容易出问题。
2、检查编码是否统一。
3、json的包有没导错。排除了,就是函数调用的问题了- -!看样子传入的是array数据,应该用jsonArray解析。JSONArray jsonArray = new JSONArray(jsonContent.toString());然后可以逐一读取里面的数据:JSONObject itemObj = jsonArray.getJSONObject(i)。
探寻星球菌
高粉答主

2019-09-30 · 探索宇宙星辰,分享科学知识
探寻星球菌
采纳数:295 获赞数:113320

向TA提问 私信TA
展开全部

json解析错误,可以采用分部检查的方式进行解决。

这是客户机和服务器之间的数据交换格式。软件通常会犯这个错误。您可以先尝试更改网络连接方式。例如,您可以使用wifi或稍后使用它。

如果不能,可以卸载并重新安装。但如果是手机系统的问题,你可以考虑不使用这个软件。它太麻了,无法重新安装。你可以试试。

json在很多地方都有使用。如果是在移动互联网上,应该是客户端和接口之间的数据采集问题。建议你检查一下自己的程序。检查json格式是否正确。其次,看看代码是否正确。

json格式按照上述格式从左到右进行解析。如果格式不正确,将报告错误。例如,多个空格、多个引号或非字符。

如果json的数据中有很多错误,就很难找到问题所在。建议通过模拟二分法逐步消除json字符。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星月谈教育
高能答主

2019-09-25 · 带你走进教育,看不一样的教育。
星月谈教育
采纳数:667 获赞数:272811

向TA提问 私信TA
展开全部

虽然后台组装成json数组的类型了,前台也得到了json类型的数据了,但数据格式不是json,导致解析失败。

1、方法一:

public static string ToJson(object obj, bool prettyPrint);

作用:对象的序列化。即将对象转换成一个json字符串,并返回该字符串。

第一个参数为要转换的对象

第二个参数可以省略,省略时默认为false。关于作用,建议将自己的json打印到屏幕就可以一目了然。

2、方法二:

public static T FromJson(string json);

作用:对象的反序列化。即将一个json字符串转换成一个对象,并返回对象。参数为json。

3、方法三:

public static void FromJsonOverwrite(string json, object objectToOverwrite);

作用:类似于第二个方法,第二个方法是将json转换成对象,并返回该对象,在该过程中需要创建一个新对象。

而这个方法,是将一个json的内容去覆盖或者说更新一个对象,过程中没有创建新的对象。这样会更加节省内存。

第一个参数是一个json;

第二个是要被第一个参数去更新或者覆盖的对象。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
学法律的小邵
高粉答主

2019-09-24 · 关注我不会让你失望
知道小有建树答主
回答量:793
采纳率:100%
帮助的人:23.4万
展开全部

json解析错误解决方法:

1、切入点

我们通常情况下跟图中一样采用的是Gosn工厂变换器,而本次抛出异常的地方就是这个变换器,自定义工厂变换器就可以完美解决我们的问题。

2、自定义Gson响应体变换器

附上APIResponse类,ErrorResponse类和ResultException类。

3、自定义响应变换工厂

4、调用自定义的响应变换工厂

在构造Retrofit时在addConverterFactory()方法中传入ResponseConverterFactory.create()就可以了。

5、在网络请求的onFailure中接收异常信息并进行处理

到这里就完成了,别忘了Gson的请求体变换器是default限定的。改改限定符就好了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快乐闲谈教育
高能答主

2019-09-26 · 快乐闻学家跟大家一起谈教育
快乐闲谈教育
采纳数:353 获赞数:84440

向TA提问 私信TA
展开全部
如果报错是of type org.json.JSONArray cannot be converted to JSONObject,根据错误提示, 应该赋值给JSONArray类型的对象, 或者可以把图中的json字符串放到 json在线解析工具里面看看json格式是否正确。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式