遇到的问题:
实体类中的字段一般都是首字母小写的,但是所要传输的json数据(接收的和发出去的)都要求字段的首字母大写
public class Test{
private String Name;------>setter + getter
}
json:
{
'Name': 'test'
}
但是这样直接接收的话是接收不到Name的取值的
所以需要使用jsonField注解和jsonProperty注解
@JSONField
这个注解分别可以注解在实体类的属性、setter和getter方法上
public class Test{
/*
注解在属性上的时候可以设置一些序列化、格式化的属性
@JSONField(serialize = false)---->序列化的时候忽略这个属性
@JSONField(format = "yyyyMMdd")---->序列化和反序列化额时候使用yyyyMMdd,一般在Date类型的字段上使用
*/
@JSONField(serialize = false)
public String Name;
/*
注解在set方法表示json转成bean的时候会将json中的Name属性赋值给实体类的Name
*/
@JSONField(name="Name")
public void setName(String Name){
this.Name = Name;
}
/*
注解在get方法表示bean转换成json的时候会把实体类的Name属性值赋给json的Name
*/
@JSONField(name="Name")
public String getName(){
return this.Name;
}
}
@JSONProperty
(1)此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,
(2)如把trueName属性序列化为name,@JsonProperty(value=“name”)
(3)类似@JSONField注解注在setter方法上