Java JSON序列化:从注释中选取的类名
有人能帮我做JSON序列化吗。我需要使用注释更改限定的类名。我不必使用Map或其他类。名称应从注释中选取 ->我使用的注释是 @JsonTypeInfo(use=Id.CLASS,include=As.PROPERTY,PROPERTY=“type”) 私有对象菜单 ->我能得到的JSON是 “菜单”:[“java.util.ArrayList”,[{ “名称”:“菜单测试”, “数据”:“菜单\u 123” }]] ->但我希望它是这样的 “菜单”:[“列表”,[{ “名称”:“菜单测试”, “数据”:“菜单\u 123”Java JSON序列化:从注释中选取的类名,java,json,annotations,jackson,Java,Json,Annotations,Jackson,有人能帮我做JSON序列化吗。我需要使用注释更改限定的类名。我不必使用Map或其他类。名称应从注释中选取 ->我使用的注释是 @JsonTypeInfo(use=Id.CLASS,include=As.PROPERTY,PROPERTY=“type”) 私有对象菜单 ->我能得到的JSON是 “菜单”:[“java.util.ArrayList”,[{ “名称”:“菜单测试”, “数据”:“菜单\u 123” }]] ->但我希望它是这样的 “菜单”:[“列表”,[{ “名称”:“菜单测试”,
}]],您应该使用
JsonTypeInfo.Id.NAME
,然后需要使用附加注释指定每个类的名称,例如:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = ArrayList.class, name = "list")
})
您应该使用
JsonTypeInfo.Id.NAME
,然后需要使用附加注释指定每个类的名称,例如:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = ArrayList.class, name = "list")
})