我正在使用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是否有效。我误解了什么,做错了什么,或者这是一个错误吗?
答案 0 :(得分:0)
它可能不是您所期望的,因为名为"group"
的数组中的对象可以包含除"a"
之外的其他值。例如,如果JSON是
{ "group" : [ { "a" : { }, "b" : { } }, {"a" : { }, "b" : { } } ] }
你的计划会产生
<group><a></a><b></b><a></a><b></b></group>
两对"a"
和"b"
之间没有任何分隔。