如何使用java注释重命名json对象名?
如何使用java注释重命名json对象名? java中的对象结构:如何使用java注释重命名json对象名?,java,json,spring,Java,Json,Spring,如何使用java注释重命名json对象名? java中的对象结构: public class ParentClass { private MyClass myClass; } public class MyClass { private String name; } Json将有下一个视图: { "myClass":{ "name":"value" } } 如何使用java/spring注释更改myClass的名称,例如 @JsonObjectName
public class ParentClass {
private MyClass myClass;
}
public class MyClass {
private String name;
}
Json将有下一个视图:
{
"myClass":{
"name":"value"
}
}
如何使用java/spring注释更改myClass的名称,例如
@JsonObjectName("abc")
public class MyClass {
private String name;
}
json将如下所示:
{
"abc":{
"name":"value"
}
}
重命名变量:
private MyClass myClass;
致:
这将在不使用注释的情况下生成正确的JSON输出
如果仍要使用注释并保留变量的名称,则可以使用@JsonProperty:
@SerializedNameabc也可以它取决于您使用的框架。如果您正在使用Jackson Library,您可以使用:
public class ParentClass {
private MyClass myClass;
}
@JsonProperty("abc")
public class MyClass {
private String name;
}
如果您使用的是Gson,那么
@SerializedName(value = "abc")
public class MyClass {
private String name;
}
此外,在Gson中,如果您想在反序列化期间为字段使用任何备用名称,我们可以使用如下备用名称:
@SerializedName(value = "abc", alternate ="xyz")
public class MyClass {
private String name;
}
alternate仅在反序列化时使用,GSON仅处理/反序列化JSON数据中该字段的最后一次出现
@SerializedName(value = "abc")
public class MyClass {
private String name;
}
@SerializedName(value = "abc", alternate ="xyz")
public class MyClass {
private String name;
}