gpt4 book ai didi

java - 当 JsonObject 的键被迭代时,它们的顺序与服务器响应中的顺序不同

转载 作者:IT老高 更新时间:2023-10-28 12:56:00 26 4
gpt4 key购买 nike

我收到了来自 JSON 字符串服务器的非常大的响应。我将其转换为 JSON 对象,然后获取 key 并对其进行迭代。

问题是当我迭代时它的顺序与服务器响应的顺序不同。

接下来,我通过添加 List<String> 中的所有键来应用另一种方法并对其进行排序,然后获取它的迭代器,但它仍然不是我所要求的(作为响应)。

代码示例在这里:

JSONObject jsonObject = new JSONObject(responseString);
Iterator<String> myIter = jsonObject.keys();


List<String> sortKey = new ArrayList<String>();

while(myIter.hasNext()){
sortKey.add(myIter.next());
}
Collections.sort(sortKey);

最佳答案

JSON 对象的键顺序不应该是有意义的。如果你想要一个特定的顺序,你应该使用一个数组,而不是一个对象。

您的 Java 代码按字母顺序对键进行排序。无法获取对象中键的初始顺序。

Reference 1 :

The order of the keys is undefined

Reference 2 :

An object is an unordered set of name/value pairs

关于java - 当 JsonObject 的键被迭代时,它们的顺序与服务器响应中的顺序不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7051785/

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