请考虑以下代码:
JSONObject json = new JSONObject();
json.put("one", 1);
json.put("two", 2);
json.put("three", 3);
Run Code Online (Sandbox Code Playgroud)
如果我打印jsonobject它打印像这样
{"three":"1","two":"2","one":"1"}
Run Code Online (Sandbox Code Playgroud)
但我想要这样.
{"one":"1","two":"2","three":"3"}
Run Code Online (Sandbox Code Playgroud)
请帮忙.提前致谢.
Sau*_*aul 10
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"]
Run Code Online (Sandbox Code Playgroud)
解决问题的最简单的解决方法是使用sortedKeys()方法并通过按键迭代JSONObject键,以必要的顺序手动生成JSON字符串.实现自定义Comparator也可能有所帮助.
| 归档时间: |
|
| 查看次数: |
35301 次 |
| 最近记录: |