2017-04-08 36 views

回答

1

看着the source code,它使用Map迭代器輸出的Map的順序性,它的基於HashMap,它不按照你想要的順序輸入它的條目。

但是,再次查看源代碼,你可以根據其鍵的自然順序(或根據您提供Comparator)的JSONObject複製到TreeMap,它保持它的條目,然後用JSONObject.writeJSONString(Map,Writer)輸出那張地圖。由於它使用映射的迭代器,因此它將按鍵順序排列。


旁註:JSON對象沒有爲了對象屬性。但是,如果您以特定的順序輸出它們,例如,允許對兩個JSON文本進行有意義的比較,那麼這是確保JSON文本以特定順序輸出的一個原因。

相關問題