编程语言
首页 > 编程语言> > java – Jackson映射:使用不同的属性名称反序列化JSON

java – Jackson映射:使用不同的属性名称反序列化JSON

作者:互联网

我有一个返回json字符串的服务器:

{"pId": "ChIJ2Vn0h5wOlR4RsOSteUYYM6g"}

现在,我可以使用jackson将其反序列化为一个名为pId的变量的对象,但我不希望该变量被称为pId,我宁愿将其反序列化为placeId.

android java中的当前对象:

public class Place {

    private String pId;

}

我希望对象看起来像什么:

public class Place {

    private String placeId;

}

如果我将对象的变量更改为placeId,则jackson将无法反序列化JSON,因为属性名称不再匹配.

是否有一个jackson注释我可以用来将java对象中的“placeId”变量映射到从服务器返回的JSON字符串变量“pId”?

解决方法:

使用@JsonProperty注释:

public class Place {

    @JsonProperty("pId")
    private String placeId;

}

有关更多信息,您可以查看相关的javadoc.

标签:json-deserialization,java,json
来源: https://codeday.me/bug/20190727/1557464.html