我正在使用Spring Boot,JAXB2和Jackson实现REST服务器。该服务器支持JSON和XML,它基于官方规范。
我目前有一个特定于JSON格式的序列化问题,我不知道如何解决它?
规范将几种原始类型定义为可以扩展的字符串,整数等,并且根据此扩展,序列化的结果不一样。
Java类
public class PrimitiveType {
@XmlAttribute
private String id
@XmlElement(name = "extension")
private List<Extension> extensions = new ArrayList<>();
// Getters and Setters
}
public class StringType extends PrimitiveType {
@XmlAttribute
private String value;
// Getter and Setter
}
JSON
// Without id and/or extension(s)
"code" : "abc"
// With id and/or extension(s)
"code ": "abc",
"_code": {
"id": "1",
"extension" : [ {
"url" : "http://mydomain/ext/1",
"valueString" : "abc-1"
}]
}
我对XML没有任何问题,但对于JSON来说却不一样。我不知道如何在同一级别动态添加属性。我查看了JsonSerializer,但它似乎允许更改对象本身的序列化。
以前有没有人有机会做这类事情?