相关文章推荐
还单身的松球  ·  通过Django ...·  1 年前    · 
寂寞的烤红薯  ·  故障分析 | ...·  1 年前    · 
风流的啄木鸟  ·  apache-airflow ...·  1 年前    · 
难过的沙发  ·  android ...·  1 年前    · 

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"}