json.org xml生成器创建不正确的数组输出

时间:2013-12-13 17:55:21

标签: java xml arrays json

我正在使用json.org XML.toString()方法从JSON数据创建XML。这个方法接受一个JSONObject参数并创建一个等效的XML结构,但是我得到的结果在涉及的数组时我并不期望。

此代码显示问题:

String jsonString = "{ \"group\" : [ { \"a\" : { } }, {\"a\" : { } } ] }";
System.out.println(XML.toString(new JSONObject(jsonString)));

产生

<group><a></a></group><group><a></a></group>

而我期待:

<group><a></a><a></a></group>

也就是说,我期待一个“group”元素,而不是每个元素“a”的元素。

我使用在线验证程序来检查JSON是否有效。我误解了什么,做错了什么,或者这是一个错误吗?

1 个答案:

答案 0 :(得分:0)

它可能不是您所期望的,因为名为"group"的数组中的对象可以包含除"a"之外的其他值。例如,如果JSON是

{ "group" : [ { "a" : { }, "b" : { } }, {"a" : { }, "b" : { } } ] }

你的计划会产生

<group><a></a><b></b><a></a><b></b></group>

两对"a""b"之间没有任何分隔。