Json如下
{
"student_id": 1}
model如下:
class Student {
@JsonProperty("student_id")
private int studentId;
public Student() {}
public int getStudentId() {
return studentId;
}
public void setStudentId(int studentId) {
this.studentId = studentId;
}
} 这时候使用jackson是可以将json转为此model,
问题是,我再把这个model转成json时,我想变成
{
"studentId": 1}
该怎么办
===============================================
参考stackoverflow
class Student {
private int studentId;
public Student() {}
@JsonIgnore
public int getStudentId() {
return studentId;
}
@JsonProperty("student_id")
public void setStudentId(int studentId) {
this.studentId = studentId;
}
@JsonProperty("studentId")
public int getJavaStudentId() {
return studentId;
}
}
当再写一个get方法时,若被@JsonProperty标注了,反序列化时,就会多出这个字段。
所以正宗的get上要加个@JsonIgnore。
没有看源码。。。就这样猜的
Jackson的作者估计也没想到你这个使用场景。JsonProperty注解的信息,没办法处理了。
再加一个StudentBO,或者用另外一种不能识别jackson定义的@JsonProperty注解的库。
@JsonAlias