gpt4 book ai didi

java - json 对象中的 put 方法将值添加到 jsonobject 的第一个;

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:51:03 25 4
gpt4 key购买 nike

考虑以下代码:

JSONObject json = new JSONObject(); 

json.put("one", 1);

json.put("two", 2);

json.put("three", 3);

如果我打印 jsonobject,它会像这样打印

{"three":"1","two":"2","one":"1"}

但是我想要这样。

{"one":"1","two":"2","three":"3"}

请帮忙。提前致谢。

最佳答案

文档位于 http://www.json.org/javadoc/org/json/JSONObject.html说:

JSONObject 是名称/值对的无序集合。

换句话说,对象的属性是按名称访问的,而不是按位置访问的,默认的序列化形式不保证任何特定顺序。

严格定位只适用于数组:

JSONArray json = new JSONArray();

json.put("1");
json.put("2");
json.put("3");

json.toString(); // results in ["1", "2", "3"]

解决问题的最简单方法是使用 sortedKeys()方法并通过逐键迭代 JSONObject,以任何必要的顺序手动生成 JSON 字符串。实现自定义 Comparator也可能有帮助。

关于java - json 对象中的 put 方法将值添加到 jsonobject 的第一个;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4163343/

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