使用jaxb和eclipselink创建一个jcard json结构

时间:2018-07-04 08:44:11

标签: java json jaxb eclipselink vcard

我需要实现一个产生JSON输出的Web服务。一些序列化的实体需要包含jCard(RFC 7095)。

当前,我正在使用带有eclipselink 2.5.2的JAXB来创建所需的JSON输出,但由于无法确定如何生成所需的JSON结构,因此我坚持使用jCard规范。

为此,我有一个JCard和一个Property POJO:

@XmlAccessorType(XmlAccessType.FIELD)
public class JCard {

  protected List<Property> vcard = new ArrayList<>();

--- 8< ---

@XmlAccessorType(XmlAccessType.FIELD)
public class Property {

    protected String name;

    protected Object attributes;

    protected PropertyType type;

    protected List<Object> value;

--- 8< ---

我从中得到的是:

"vcard" : [ {
  "name" : "version",
  "type" : "text",
  "value" : [ {
     "type" : "string",
     "value" : "4.0"
  } ]
} ]

但是我需要的是:

"vcard",
 [
   ["version", {}, "text", "4.0"],
   ["fn", {}, "text", "John Doe"],
   ["gender", {}, "text", "M"],
   ["categories", {}, "text", "computers", "cameras"],
   ...
 ]

所以我的问题是,JAXB类看起来如何实现这一目标?

0 个答案:

没有答案