基于输出媒体类型的不同XStream转换器

时间:2014-11-06 15:11:33

标签: java json xstream

我的数据结构包含不同类型的混合列表。我想用XStream对它进行序列化/反序列化,所以我编写了一个生成(并读取)以下输出的转换器:

<list>
   <a foo="x"/>
   <b bar="y"/>
   <a foo="z"/>
</list>

现在这种方法非常有效,而输出格式是XML。但是当然当相同的转换器写入JSON流时,我得到了这个:

 "list" : {
    "a" : [ { "@foo" : "x" }, {"@foo" : "z" } ],
    "b" : [ { "@bar" : "y" } ]
 ]

这并不是那么美丽,因为所有ab都被组合在一起,这是可以理解的,但不是我想要看到的。

我可以重新设计输出以使其对JSON友好,但我不想更改XML表示。

如何(如果有的话)XStream可以根据输出格式不同地编组/解组对象?解决方案越少侵入性越好。

0 个答案:

没有答案