Java JSONObject到XML转换-空列表未显示在XML输出中

Java JSONObject到XML转换-空列表未显示在XML输出中,java,json,xml,jsonobject,Java,Json,Xml,Jsonobject,我有一个JSON字符串,我正在将其转换为JSONObject: JSONObject jsonObject = new JSONObject(jsonString); 我的JSON字符串包含一些空列表,例如: key:[] 现在,我正在从该对象创建XML字符串: String xmlString = XML.toString(jsonObject); 问题是,JSON中的空列表键根本没有显示在XML中。它们应该在XML中显示为空标记。如何解决这个问题?仔细检查XML.java后,可以理解,

我有一个JSON字符串,我正在将其转换为JSONObject:

JSONObject jsonObject = new JSONObject(jsonString);
我的JSON字符串包含一些空列表,例如:

key:[]
现在,我正在从该对象创建XML字符串:

String xmlString = XML.toString(jsonObject);

问题是,JSON中的空列表键根本没有显示在XML中。它们应该在XML中显示为空标记。如何解决这个问题?

仔细检查XML.java后,可以理解,值为空列表的JSON键不会显示在XML输出中。对于类似以下内容的JSON键:

key: ["val1","val2"]
相应的XML将是:

<key>val1</key>
<key>val2</key>
val1
瓦尔2
由于列表为空,XML.java从不进入for循环,也从不打印任何内容。这是正确的行为


感谢@LoreV为我指出了正确的方向。

您使用了哪些库?org.json,具体地说,您的意思是您看不到出现的内容,对吗?在第408行的XML文件中放置一个断点。检查elseif中的代码是否已执行。查找源代码:在第385行,它应该输入else if块,因为它检查value.getClass().isArray()是否为true,事实就是如此,因为在调试模式下,“value”显示为JSONArray。但它没有输入这个,而是转到下一行,该行将“value”设置为null,因此不会打印标签。