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.