FastJson之@JSONField注解
准备一个Persion类
public class Person {
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
把一个JaveBean解析成JSON字符串
@Test
public void fun7() {
Person person = new Person();
person.setName("张三");
person.setAge(30);
person.setId(20);
String jsonString = JSON.toJSONString(person);
System.out.println(jsonString);
}
控制台打印输出
@JSONField(ordinal =0)
这个注解的作用是序列化字段的顺序,默认是0
例子
可以看到JSON字符串的顺序,按照我们给字段上加上的注解顺序排序了。
@JSONField(name = “”)
当前端传过来的字段名不一样的时候,我们可以在字段名上加上这个注解
可以看到,本来应该是{“id”:20,”age”:30,”name”:”张三”},在字段上加了注解之后就变成了{“ID”:20,”age”:30,”name”:”张三”}
@JSONField(format = “”)
当前端传过JSON时间字符串的想转成Date,或者想指定转成JSON字符串日期的格式时,就可以用到这个注解
@JSONField(serialize = 布尔类型)
是否要把这个字段序列化成JSON字符串,默认是true
@JSONField(deserialize = 布尔类型)
这个字段是否需要进行反序列化,默认是true