@JSONField注解的使用(指定key的名称,日期格式,排序

2021-12-30  本文已影响0人  阿杰_96c5

name属性用来指定JSON串中key的名称。

@JSONField作用在Field时,其name不仅定义了输入key的名称,同时也定义了输出的名称。
public class Person {
    @JSONField(name = "name") // 注意观察生成的JSON串中name和age的区别
    private String name;
    @JSONField(name = "AGE")
    private String age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }
}

@JSONField也可以直接作用在get或set方法上
@JSONField(name = "name")
public String getName() {
    return name;
}

@JSONField(name = "name")
public void setName(String name) {
    this.name = name;
}

@JSONField(name = "AGE")
public String getAge() {
    return age;
}

@JSONField(name = "AGE")
public void setAge(String age) {
    this.age = age;
}

PS:FastJson在进行操作时,是根据getter和setter的方法进行的,并不是依据Field进行。

format规定日期格式

@JSONField(format="yyyy-MM-dd HH:mm:ss")
private Date date;

ordinal规定字段的顺序

@JSONField(ordinal = 3)
private int f0;

@JSONField(ordinal = 2)
private int f1;

@JSONField(ordinal = 1)
private int f2;
fastjson序列化⼀个java bean,是根据fieldName的字母序进⾏序列的你可以通过ordinal指定字段的顺序。

serialize/deserialize指定字段不序列化

@JSONField(serialize=false)
public Date date;
上一篇下一篇

猜你喜欢

热点阅读