首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSON在Android应用程序中的奇怪解析错误

JSON在Android应用程序中的奇怪解析错误
EN

Stack Overflow用户
提问于 2014-02-19 16:22:42
回答 2查看 46关注 0票数 1

我想问一个关于JSON解析的问题。

现在我得到了这样的回应:

代码语言:javascript
复制
{"resultCode":200,"resultContent":{"orderId":"1268"}}

因此,据我所知,这是一个int值和一个带有一个记录的数组。在ma应用程序中,我是这样提取这些值的:

代码语言:javascript
复制
int id = -1;
JSONObject jObject = new JSONObject(json);
int resultCode = jObject.getInt(RESULT_CODE);
if (resultCode!=200) {
    return id;
}
JSONArray jArray = jObject.getJSONArray(RESULT_CONTENT);
for (int i = 0; i < jArray.length(); i++) {
    JSONObject jArrayObject = jArray.getJSONObject(i);
    id = Integer.valueOf(jArrayObject.getString(ORDER_ID));
}
return id;

因此,它应该工作,并且id应该有适当的值。

但是,我收到了一个错误/警告,即:

org.json.JSONException:值{"orderId":"1268"}类型为org.json.JSONObject的resultContent不能转换为JSONArray

我的问题是,我在这里做错了什么,如何修复?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-19 16:26:29

resultContent不是JSONArray,它只是JSONObject

作为提示,JSONArrays是可识别的,因为它们有方括号("","")。

票数 4
EN

Stack Overflow用户

发布于 2014-02-19 16:27:24

resultContent是一个对象,而不是数组。将其更改为JSONObject jArray = jObject.getJSONObject(RESULT_CONTENT);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21886315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档