<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
</dependency>
默认可以使用JSON.parseObject将字符串转成Map,但是如果json中有多个key-value,则转换后的顺序可能颠倒。如下
public static void main(String[] args) {
String content = "{\"text1\":\"123\",\"text2\":\"456\",\"text3\":\"789\"}";
Map paraMap = JSON.parseObject(content);
System.out.println(paraMap.toString());
}
运行结果:
{"text3":"789","text1":"123","text2":"456"}
使用JSON.parseObject(content, LinkedHashMap.class, Feature.OrderedField)可以解决这个问题
public static void main(String[] args) {
String content = "{\"text1\":\"123\",\"text2\":\"456\",\"text3\":\"789\"}";
Map paraMap = JSON.parseObject(content, LinkedHashMap.class, Feature.OrderedField);
System.out.println(paraMap.toString());
}
运行结果:
{text1=123, text2=456, text3=789}