Map<String, Object> mapData = JSON.parseObject(jsonString, HashMap.class); // 按键排序 mapData = mapData.entrySet().stream() .sorted(Map.Entry.comparingByKey()) .collect( Collectors.toMap( Map.Entry::getKey, Map.Entry::getValue, (oldVal, newVal) -> oldVal, LinkedHashMap::new ) );
--------------------------
排序后的效果:
"mapData": {
"fac1": "49.99",
"fac2": "50.0",
"fac3": "50.0",
"iac1": "0.5",
"iac2": "0.5",
"iac3": "0.5",
"ipv1": "0.3",
"ipv2": "0.4",
"ipv3": "0.0",
"ppv1": "0.133",
"ppv2": "0.098",
"ppv3": "0.0",
"vac1": "226.9",
"vac2": "226.5",
"vac3": "227.0",
"vpv1": "442.3",
"vpv2": "245.5",
"vpv3": "0.0"
}