【发布时间】:2017-06-13 19:47:08
【问题描述】:
我有一个有一些领域的学生。我想为返回的 JSON 字段提供自定义名称。
public class Student {
@JsonProperty("name")
private String mName;
@JsonProperty("DOB")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date mBirthDate;
@JsonProperty("SSN")
private String mSocialSecurityNumber;
public Student() {
}
public Student(String mName, Date mBirthDate, String mSocialSecurityNumber) {
this.mName = mName;
this.mBirthDate = mBirthDate;
this.mSocialSecurityNumber = mSocialSecurityNumber;
}
public String getName() {
return mName;
}
public void setName(String mName) {
this.mName = mName;
}
public Date getBirthDate() {
return mBirthDate;
}
public void setBirthDate(Date mBirthDate) {
this.mBirthDate = mBirthDate;
}
public String getSocialSecurityNumber() {
return mSocialSecurityNumber;
}
public void setSocialSecurityNumber(String mSocialSecurityNumber) {
this.mSocialSecurityNumber = mSocialSecurityNumber;
}
}
我的 JSON 输出既有原始字段名称(基于 getter 名称,例如 getSocialSecurityNumber()),也有在我的 @JsonProperty 属性中指定的名称。
似乎如果我将@JsonProperty 属性移动到getter,那么我不会得到字段的加倍。有没有办法通过在字段上添加注释来做到这一点,我觉得这样更干净一些?
【问题讨论】:
标签: java json spring-boot jackson