Json反序列化 - 将嵌套对象键直接映射到类

时间:2016-08-30 17:51:30

标签: java json jackson gson

我有一个json喜欢 -

{
"type" : "employee",
"details" : {
  "name" :  "ABC",
  "age" : 12,
  "sex" : "male"
  }
}

和Java类一样 -

public class Person {
String name;
String sex;
String type;
int age;
 ----getters and setters
}

我想知道有没有办法直接将details对象的属性映射到人员类,如details.namePerson.name。 我知道这可以通过自定义反序列化器实现,但我希望避免它。可能是GSON或杰克逊提供的一些注释。

2 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题,但我要做的是创建以下类:

public class PersonWrapper {

   private String type;

   @JsonProperty("details")
   private Person person;

 }

编辑:

如果您不想添加包装类,可以尝试将@JsonRootName(value = "details")添加到Person类。

答案 1 :(得分:-1)

您可以使用@JsonProperties进行映射