【问题标题】:Getting no value from JSON array in Android从 Android 中的 JSON 数组中获取任何值
【发布时间】:2014-05-27 13:53:35
【问题描述】:

我有一个奇怪的问题,我希望你能帮我解决它..

问题如下: 我创建了一个 javacode 来解析来自 JSON 的查询,但我无法将其解析为字符串...我也尝试获取字符串 0,但这也不起作用。

下面是Java代码:

JSONArray json_data = new JSONArray(result);
           for (int i = 0; i < json_data.length(); i++) {
                code = json_data.getJSONObject(i).getInt("code");
                pictureID = json_data.getJSONObject(i).getString(
                        "Picture_ID");
                System.out.println(code);
                System.out.println(pictureID);
            }

这是我从 JSON 得到的响应:

[{"code":1}][{"Picture_ID":"74","0":"74"}]

但这是我从 catch 子句中得到的错误:

org.json.JSONException: No value for Picture_ID

再次感谢您的帮助!

【问题讨论】:

  • 但是一个 Picture_ID 的代码似乎在不同的对象中
  • 你能说得更具体些吗?我不明白。
  • [{"code":1}][{"Picture_ID":"74","0":"74"}] 不是有效的 json
  • 我觉得有点冒犯你说有人不知道他在说什么,当有人正在学习它时 黑带...谢谢 Selvin,我会尝试做出有效的 JSON 响应比。
  • 您的 json 无效尝试在 jsonlint.com 等网站在线检查

标签: java android arrays json jsonexception


【解决方案1】:

检查键值“Picture_ID”是否正确后,如果正确,请尝试使用此代码...

for (int i = 0; i < innerProjectarray.length(); i++) {

JSONObject obj = innerProjectarray.getJSONObject(i);

String projNum = obj.optString("code"); 
String projName = obj.optString("Picture_ID"); 
// and use both values. 
}

【讨论】:

  • 嗯,现在我没有得到 Picture_ID 的值了...但是如果键不正确,我如何从 JSON 响应中获取值?
  • 这是有效的 json.... { "phoneNumber": [ { "type": "work", "num": "11111" }, { "type": "home", " num": "2222" } ], "address": { "state": "World", "address": "infinite space, 000", "city": "Android city" }, "surname": "Swa" , "名称": "安卓" }
猜你喜欢
  • 1970-01-01
  • 2013-12-24
  • 1970-01-01
  • 2022-08-18
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 2020-08-18
  • 2015-02-02
相关资源
最近更新 更多