2015-09-25 64 views
3

我有一个返回一个JSON字符串的服务器:杰克逊映射:JSON的反序列化具有不同的属性名

{"pId": "ChIJ2Vn0h5wOlR4RsOSteUYYM6g"} 

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

在Android的Java的当前对象:

public class Place { 

    private String pId; 

} 

我希望对象是什么样子:

public class Place { 

    private String placeId; 

} 

如果我改变对象的,以placeId变量,杰克逊将无法反序列化JSON作为属性名称不再匹配。

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

回答

7

使用@JsonProperty注释:

public class Place { 

    @JsonProperty("pId") 
    private String placeId; 

} 

欲了解更多信息,您可以看到相关的javadoc

+0

谢谢 - 这是行得通的。 – Simon