0

我在 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>"}
4

1 回答 1

0

不是 100% 确定,但请尝试setHtmlSafe()用于您的 JasonWriter..

来自 JavaDocs:setHtmlSafe()

配置此编写器以发出可安全地直接包含在 HTML 和 XML 文档中的 JSON。这会在将 HTML 字符 <、>、& 和 = 写入流之前对其进行转义。如果没有此设置,您的 XML/HTML 编码器应将这些字符替换为相应的转义序列。

于 2013-01-16T23:45:14.147 回答