我正在尝试将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”: “”}}
答案 0 :(得分:1)
我做了一点调查,org.apache.apache.wink.json4j.utils.XML.toJson方法使用SAXParser,我无法调试(由于缺少行号属性而警告我(是因为反编译?),无论如何)它,但我认为它适用于空标签。
然后我调试了apache.sling.commons.xml.XML.toJSONObject它有自己的XMLTokenizer。据我所知,由于SAXParser空标记成真。