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

时间:2015-09-25 11:14:58

标签: java json json-deserialization

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

{"pId": "ChIJ2Vn0h5wOlR4RsOSteUYYM6g"}

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

android java中的当前对象:

public class Place {

    private String pId;

}

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

public class Place {

    private String placeId;

}

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

是否有杰克逊注释我可以用来映射" placeId" java对象中的变量为JSON字符串变量" pId"从服务器返回?

1 个答案:

答案 0 :(得分:7)

使用@JsonProperty注释:

public class Place {

    @JsonProperty("pId")
    private String placeId;

}

有关详细信息,请参阅相关的javadoc