最近使用fastjson序列化对象时,发现输出的json字符串中是按属性进行了排序。
public class Person {
private String name;
private Integer age;
private String gender;
private Double height;
private Double weight;
//省略get,set方法
}
public class FastJsonTest {
public static void main(String[] args) {
Person person = new Person();
person.setName("Tom");
person.setAge(20);
person.setGender("Male");
person.setHeight(180.5);
person.setWeight(80.5);
System.out.println(JSON.toJSONString(person));
}
}
输出:
{"age":20,"gender":"Male","height":180.5,"name":"Tom","weight":80.5}
通过@JSONType,@JSONField注解可以定义属性的顺序
@JSONType(orders={"name","age","gender"