Jackson 映射:使用不同的 属性 名称反序列化 JSON
Jackson mapping: Deserialization of JSON with different property names
我有一个服务器 returns 一个 json 字符串:
{"pId": "ChIJ2Vn0h5wOlR4RsOSteUYYM6g"}
现在,我可以使用jackson将其反序列化为一个对象,变量名为pId,但我不希望该变量被称为pId,我宁愿将其反序列化为placeId。
android中的当前对象java:
public class Place {
private String pId;
}
我希望对象看起来像什么:
public class Place {
private String placeId;
}
如果我将对象的变量更改为 placeId,jackson 将无法反序列化 JSON,因为 属性 名称不再匹配。
是否有我可以用来将 java 对象中的 "placeId" 变量映射到从服务器返回的 JSON 字符串变量 "pId" 的 jackson 注释?
使用@JsonProperty
注释:
public class Place {
@JsonProperty("pId")
private String placeId;
}
更多信息可以查看相关javadoc.
我有一个服务器 returns 一个 json 字符串:
{"pId": "ChIJ2Vn0h5wOlR4RsOSteUYYM6g"}
现在,我可以使用jackson将其反序列化为一个对象,变量名为pId,但我不希望该变量被称为pId,我宁愿将其反序列化为placeId。
android中的当前对象java:
public class Place {
private String pId;
}
我希望对象看起来像什么:
public class Place {
private String placeId;
}
如果我将对象的变量更改为 placeId,jackson 将无法反序列化 JSON,因为 属性 名称不再匹配。
是否有我可以用来将 java 对象中的 "placeId" 变量映射到从服务器返回的 JSON 字符串变量 "pId" 的 jackson 注释?
使用@JsonProperty
注释:
public class Place {
@JsonProperty("pId")
private String placeId;
}
更多信息可以查看相关javadoc.