2017-04-08 18 views

回答

1

看着the source code,它使用Map迭代器输出的Map的顺序性,它的基于HashMap,它不按照你想要的顺序输入它的条目。

但是,再次查看源代码,你可以根据其键的自然顺序(或根据您提供Comparator)的JSONObject复制到TreeMap,它保持它的条目,然后用JSONObject.writeJSONString(Map,Writer)输出那张地图。由于它使用映射的迭代器,因此它将按键顺序排列。


旁注:JSON对象没有为了对象属性。但是,如果您以特定的顺序输出它们,例如,允许对两个JSON文本进行有意义的比较,那么这是确保JSON文本以特定顺序输出的一个原因。

相关问题