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

Java 如何允许JSONWriter接受XML格式的密钥?,java,xml,json,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为有效XM

我在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最终转义my XML的所有结束标记。XML最初是

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

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

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

来自JavaDocs: setHtmlSafe()


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

您能提供链接吗?很遗憾,我使用的是org.json.JSONWriter,而不是google library。很抱歉,您使用的是不同的库。我不知道如何解决这个问题,但有一个快速的建议-您可能想使用org.json.JSONStringer,看看是否做了一些不同的事情。。。祝你好运