【问题标题】:Get null key with JSONArray values from JSON Object从 JSON 对象获取带有 JSONArray 值的空键
【发布时间】:2017-09-04 12:29:24
【问题描述】:

谁能帮我从这个 JSON 对象中获取空键值?

'null' 是 JSONArray,我想迭代并从中获取值。

https://i.stack.imgur.com/HlVrt.png

【问题讨论】:

  • 请显示您收到的 JSON 的结构
  • 这并没有告诉我为什么密钥为空。它是如何创建的?
  • 它来自不同的项目,不确定它是如何创建的。我想知道如何读取空键值。
  • 请将json作为文本发布。

标签: android arrays json


【解决方案1】:

这里是你的解析器

 JSONObject object = new JSONObject(json);
    JSONObject results=object.getJSONObject("results");
    JSONObject data=results.getJSONObject("data");
    JSONArray array=data.getJSONArray("null");
    for (int i=0;i<=array.length();i++)
    {
        JSONObject temp=array.getJSONObject(i);
        String score=temp.getString("score");
    }

【讨论】:

  • 谢谢!有效。将 key 设为 null 是否正确?
【解决方案2】:

您需要在 JSON 结果上使用 opt 或 getJsonArray

for (int i = 0; i<results.optJSONArray("data").length();i++){
    JSONObject json = <results.optJSONArray("data").get(i);
    int score = json.optInt("score");
    String id = json.optString("id");
    etc..

}

这将迭代您的数据并提取信息

【讨论】:

  • java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int org.json.JSONArray.length()”
猜你喜欢
  • 1970-01-01
  • 2017-03-09
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-06
相关资源
最近更新 更多