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

2024-03-30

考虑下面的代码:

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 http://www.json.org/javadoc/org/json/JSONObject.html says:

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

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

严格定位仅适用于数组:

JSONArray json = new JSONArray();

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

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

解决您的问题的最简单的解决方法是使用排序键() http://www.json.org/javadoc/org/json/JSONObject.html#sortedKeys()方法并通过逐个键迭代 JSONObject,按照所需的顺序手动生成 JSON 字符串。实施定制比较器 http://download.oracle.com/javase/1.4.2/docs/api/java/util/Comparator.html也可能有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

json对象中的put方法将值添加到json对象的第一个; 的相关文章

随机推荐