0
當我使用GSON連載我的LinkedHashMap<String, String>
,我得到JSON中LinkedHashMap的正確表示方式是什麼?
{"b":"a","a":"1","c":"2"}
和反序列化後,我回到正確的順序的元素。所以一切工作正常,但是有沒有保證每個工具都以這種方式工作?條目順序在JSON中有什麼意義?
當我使用GSON連載我的LinkedHashMap<String, String>
,我得到JSON中LinkedHashMap的正確表示方式是什麼?
{"b":"a","a":"1","c":"2"}
和反序列化後,我回到正確的順序的元素。所以一切工作正常,但是有沒有保證每個工具都以這種方式工作?條目順序在JSON中有什麼意義?
不,Javascript哈希不一定有一致的順序。對於這一點,你可能要像
[["b", "a"], ["a", "1"], ["c", "2"]]
的表示或按鍵的順序存儲在一個單獨的列表,這取決於你用它做什麼。
實際上,LinkedHashMap確保密鑰排序。 – Dan 2011-03-27 19:00:07
你說得對。 LinkedHashMap可以,但JavaScript的對象關鍵字不會,所以通過JSON的往返不一定會保持排序,如果它通過任何其他系統解析它的方式。 – 2011-05-07 19:32:00