FastJson的在做反序列化的时候,确保反序列化后的对象内的Set集合的元素有序?
时间: 2024-03-24 11:38:02 浏览: 201
fastjson反序列化利用
在Json进行反序列化时,默认情况下是不会保证Set集合中元素的顺序的。如果需要保证Set集合元素的顺序,可以在反序列化时使用JSON.parseObject(String text, TypeReference<T> typeReference, Feature... features)方法,并在Feature参数中设置SortFeid.MapSortField选项。例如:
```
String jsonStr = "[{\"name\":\"Tom\",\"age\":20},{\"name\":\"Jerry\",\"age\":18},{\"name\":\"John\",\"age\":22}]";
TypeReference<Set<User>> typeRef = new TypeReference<Set<User>>() {};
Set<User> users = JSON.parseObject(jsonStr, typeRef, Feature.SortFeid.MapSortField);
```
这样,在反序列化后的Set集合中,元素的顺序就会按照JSON字符串中的顺序进行排列。
阅读全文