我目前正在使用jackson序列化/反序列化我的对象:
public class Person {
private String firstName;
private String lastName;
//getter & setter
}
{
"person" : {
"firstName": "john",
"lastName" : "doe"
}
}
现在我想再增加一个字段,它是全名,它是从 firstname 和 lastname 组合而来的。所以JSON看起来像这样
{
"person" : {
"firstName": "john",
"lastName" : "doe",
"fullName" : "john doe"
}
}
我可以通过向类Person添加更多属性来实现这一点,但我不太喜欢,杰克逊提供的注释是否可以自动支持此案例? 我的Person类仍然是相同的(可能添加更多方法但不是属性),然后Json字符串包含一些额外的数据。
由于
答案 0 :(得分:3)
Jackson(默认情况下)会在类中查找getter以决定在JSON中序列化的内容。您可以在Person
上添加getter方法,以便在JSON中添加您想要的额外字段,而不管Person
类中的字段:
public String getFullName() {
return firstName + " " + lastName;
}
根据Java Beans惯例,JSON中字段的名称将显示为"fullName"
。