3

我正在尝试将 xml 字符串转换为 Java 中的 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);

结果是:

{"a":{"b":"val1","d":true}}

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

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

{"a":{"b":"val1","d":""}}

4

1 回答 1

1

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

然后我调试了 apache.sling.commons.xml.XML.toJSONObject 它有自己的 XMLTokenizer。在我的估计中因为 SAXParser 空标签实现了。

于 2014-12-08T21:19:26.883 回答