序列化LinkedHashMap,有序輸出Json字符串


LinkedHashMap本身是有序的,使用JDK自帶的序列化代碼或者fastJson代碼序列化后,字符串並非按照插入順序輸出

Map<String,String> linkedMap=new LinkedHashMap<String,String>();
linked2.put("b","2");
linked2.put("a","1");
linked2.put("c","3");
String jsonStr=JSON.toJSONString(linkedMap);
輸出jsonStr為{"a":"1","b":"2","c":"3"}
解決辦法:
使用
Gson(com.google.gson)序列化
Map<String,String> linkedMap=new LinkedHashMap<String,String>();
linked2.put("b","2");
linked2.put("a","1");
linked2.put("c","3");
Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();
String jsonStr=gson.toJson(linked2);
System.out.println(jsonStr);
輸出jsonStr為{"b":"2","a":"1","c":"3"}
 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM