JSON.parseObject不改动key排序
时间: 2024-06-14 08:08:40 浏览: 122
在Java中,JSON.parseObject方法是用于将JSON字符串解析为Java对象的方法。默认情况下,JSON.parseObject方法会按照JSON字符串中的键值对的顺序来解析,并将其映射到Java对象的属性上。
如果你希望在解析JSON字符串时不改变键的排序,可以使用LinkedHashMap作为目标Java对象的类型。LinkedHashMap是一种有序的HashMap实现,它会保持插入顺序。
以下是一个示例代码:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class Main {
public static void main(String[] args) {
String jsonString = "{\"b\":2,\"a\":1,\"c\":3}";
// 使用LinkedHashMap作为目标类型
LinkedHashMap<String, Integer> map = JSON.parseObject(jsonString, LinkedHashMap.class);
// 输出解析结果
for (String key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
}
}
```
运行以上代码,输出结果为:
```
b: 2
a: 1
c: 3
```
通过使用LinkedHashMap作为目标类型,JSON.parseObject方法会按照JSON字符串中的键值对顺序解析,并将其保存在LinkedHashMap中,从而实现不改变键排序的效果。
阅读全文