将JSON响应映射到POJO(具有不同的名称)

时间:2011-10-17 15:54:39

标签: java android json gson jackson

我知道有很多帖子出现类似的问题,但我的情况似乎有点不同。我正在阅读一堆JSON,并希望从中构建POJO,但我不想使用JSON结果的名称。有没有办法将JSON中的元素名称“映射”到我的POJO中的属性(可能使用gson或Jackson)?

值得一提的是,此应用程序是专为Android而构建的。

提前致谢!

3 个答案:

答案 0 :(得分:2)

如果您使用Gson,则可以向对象追加属性,如下所示:

@SerializedName("ServicesResult")
public String services;

其中“ServicesResult”是JSON中元素的实际名称。

答案 1 :(得分:2)

有了Jackson,你有多种选择:

  • 使用@JsonProperty(“name”)注释指示要在JSON中使用的名称,直接添加或使用混合注释(外部)
  • 指定PropertyNamingStrategy将“Java name”转换为“JSON name”(默认java< - > c-style转换器与1.9捆绑在一起)
  • 修改AnnotationIntrospector以使用注释以外的其他机制更改名称

答案 2 :(得分:0)

Jackson还将解释Basic包javax.xml.bind.annotation

如果您使用这些注释,您可以轻松地在Json / XML之间移动