获取jsonArray下每个元素的键数组。

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (44)

我想动态地解析我的JSON数组。并且希望为jsonarraa下的每个元素获取键数组。我通过迭代器获得这个数组。但是不像输出json格式那样得到结果。

我的JSON格式:

{
  "result": "Success",
  "AlertDetails": [
    {
      "ShipmentNumber": "SHP34",
      "Customer": "BEST",
      "DateCreated": "2012-08-29T04:59:18Z"
      "CustomerName": "BEST"
    },
    {
      "ShipmentNumber": "SHP22",
      "Customer": "BEST",
      "DateCreated": "2012-08-29T05:34:18Z"
      "CustomerName": "Jelly"
    }
  ]
}

这是我的代码:

    JSONArray array = jsonobject.getJSONArray("AlertDetails");

    JSONObject keyarray = array.getJSONObject(0);
    Iterator temp = keyarray.keys();
        while (temp.hasNext()) {
                    String curentkey = (String) temp.next();
                    KEYS.add(curentkey);

    }
Log.d("Parsing Json class", "  ---- KEYS---- " + KEYS);

我在日志输出中得到了什么:

 ---- KEYS---- [DateCreated,CustomerName, Customer, ShipmentNumber]

我想要的是:

 ---- KEYS---- [ShipmentNumber, Customer, DateCreated,CustomerName]
提问于
用户回答回答于

由于不知道你从WS获得的键的顺序,在收到数据之后,可以在屏幕上以有序的格式显示详细信息。在构建完arraylistKEYS,可以使用以下方法按字母顺序对其进行排序:

Collections.sort(KEYS);  

用户回答回答于

我只是知道当我按下ctlr +空格键时,其中清楚地写出键的行为未定义

扫码关注云+社区