JSON实体类的输出顺序

Posted 树上的疯子^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON实体类的输出顺序相关的知识,希望对你有一定的参考价值。

JSON.toJSONString过程中出现实体类的属性与转换之前的顺序不一致
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));
   
使用注解指定属性的输出顺序


第一种:通过在实体类添加@JSONType(orders="name","age","gender","height","weight")
@JSONType(orders="name","age","gender","height","weight")
public class Person
    private String name;
    private Integer age;
    private String gender;
    private Double height;
    private Double weight;

第二种:在属性上添加@JSONField(ordinal = 1)
public class Person
    @JSONField(ordinal = 1)
    private String name;
    @JSONField(ordinal = 2)
    private Integer age;
    @JSONField(ordinal = 3)
    private String gender;
    @JSONField(ordinal = 4)
    private Double height;
    @JSONField(ordinal = 5)
    private Double weight;

以上是关于JSON实体类的输出顺序的主要内容,如果未能解决你的问题,请参考以下文章

JSON C# Class Generator ---由json字符串生成C#实体类的工具

JSON C# Class Generator ---由json字符串生成C#实体类的工具

JSON C# Class Generator ---由json字符串生成C#实体类的工具

Newtonsoft.Json类的序列化顺序

struts2 json 输出日期格式不正确

简单实体Json序列化(输出JSON的属性可变)