gpt4 book ai didi

android - 获取jsonarray下每个元素的KEYS数组

转载 作者:IT老高 更新时间:2023-10-28 23:20:17 25 4
gpt4 key购买 nike

我想动态解析我的 Json 数组。并希望为 jsonarray 下的每个元素获取 KEYS 数组。我通过迭代器得到这个。但没有根据输出的 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);

我在 logcate 输出中得到了什么:

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

我想要什么:

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

最佳答案

JSONObject 文档(链接:http://developer.android.com/reference/org/json/JSONObject.html)对 keys() 函数有以下描述:

public Iterator keys ()

Since: API Level 1

Returns an iterator of the String names in this object. The returned iterator supports remove, which will remove the corresponding mapping from this object. If this object is modified after the iterator is returned, the iterator's behavior is undefined. The order of the keys is undefined.

所以你可能会得到 key ,但顺序是不确定的。如果您希望键按任何特定顺序排列,您可以使用任何排序算法。

编辑

由于您不知道您从 WS 获取的 KEYS 的顺序,因此在收到数据后,您可以在屏幕上以有序的格式显示详细信息。构建 arraylist KEYS 后,您可以使用以下命令按字母顺序对其进行排序:

Collections.sort(KEYS);  

这将根据 自然排序(即 按字母顺序)。

关于android - 获取jsonarray下每个元素的KEYS数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12175723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com