更改JSON密钥而不更改POJO中的变量名称

时间:2017-08-18 10:04:03

标签: java json jackson gson

我有一个班级定义说

class Employee {
 String id;
 String name;
 int age;
 //getters and setters
}

我想从中创建一个json对象,如下所示

{
  "id" : "A12",
  "employee_name" : "Abhishek"
  age : 97
}

请注意employee_name与POJO变量name不对应。那么我可以添加某些注释来帮助我这样做吗?喜欢的东西

@JSONKey(value="employee_name")
String name

提供与GSON和/或Jackson相关的解决方案。

3 个答案:

答案 0 :(得分:3)

Jackson中使用@JsonProperty

E.g:

@JsonProperty(value="employee_name")
String name

GSON使用@SerializedName

@SerializedName(value="employee_name")
String name

答案 1 :(得分:0)

使用Gson,您可以使用@SerializedName注释

@SerializedName("employee_name")
String name;

答案 2 :(得分:0)

您可以将@JsonProperty用于杰克逊:Change field name in JSON using Jackson

Gason的@SerializedNameConvert JSON style properties names to Java CamelCase names with GSON