【问题标题】:How to allow JSONWriter to accept an XML formatted key?如何允许 JSONWriter 接受 XML 格式的密钥?
【发布时间】:2013-01-16 22:45:22
【问题描述】:

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

【问题讨论】:

    标签: java xml json


    【解决方案1】:

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

    来自 JavaDocs: setHtmlSafe()

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

    【讨论】:

    • 能否提供链接?我在任何地方都没有看到这种方法。
    • 不幸的是,我使用的是 org.json.JSONWriter,而不是谷歌库
    • 很抱歉您使用了不同的库。我不知道如何解决它,但有一次快速建议 - 你可能想使用 org.json.JSONStringer 看看是否有不同的方法......祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    相关资源
    最近更新 更多