使用org.apache.commons.json.utils.XML toJson将XML转换为JSON - 将空元素更改为" true"

时间:2014-12-08 20:16:58

标签: java xml json to-json

我正在尝试将Java中的xml字符串转换为Json。 以下是示例代码:

import org.apache.commons.json.utils.XML;

String test = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><a><b>val1</b><d/></a>";
InputStream is = new ByteArrayInputStream(test.getBytes());
String jsonString = XML.toJson(is);

结果是:

  

{ “一”:{ “B”: “VAL1”, “d”:真}}

我不明白为什么将d值设为true?

还有什么方法可以得到这个结果:

  

{ “一”:{ “B”: “VAL1”, “d”: “”}}

1 个答案:

答案 0 :(得分:1)

我做了一点调查,org.apache.apache.wink.json4j.utils.XML.toJson方法使用SAXParser,我无法调试(由于缺少行号属性而警告我(是因为反编译?),无论如何)它,但我认为它适用于空标签。

然后我调试了apache.sling.commons.xml.XML.toJSONObject它有自己的XMLTokenizer。据我所知,由于SAXParser空标记成真。