如何允许JSONWriter接受XML格式的密钥?

时间:2013-01-16 22:45:23

标签: java xml json

我在Java中使用org.json.JSONWriter。我需要为某个键设置XML值。

StringWriter writer = new java.io.StringWriter();
JSONWriter w = new JSONWriter(writer);
w.object()
    .key("data").value(xmlContents)
.endObject();
System.out.println(writer.toString());

运行该代码,其中xmlContents是有效的XML文件内容。 生成的JSONObject最终会转义我的XML的所有结束标记。 XML最初是

<?xml version=\"1.0\" encoding=\"UTF-8\"?><my_xml><version>2.0</version><date>2013-01-16T20:44:31Z</date></my_xml>

然后变成

{"data":"<?xml version=\"1.0\" encoding=\"UTF-8\"?><my_xml><version>2.0<\/version><date>2013-01-16T20:44:31Z<\/date><\/my_xml>"}

1 个答案:

答案 0 :(得分:0)

不是100%肯定,但尝试使用setHtmlSafe()作为您的JasonWriter ..

来自JavaDocs: setHtmlSafe()

配置此编写器以发出可直接包含在HTML和XML文档中的JSON。这会转义HTML字符&lt;,&gt;,&amp;和=在将它们写入流之前。如果没有此设置,您的XML / HTML编码器应使用相应的转义序列替换这些字符。