包装在XML元素中的精美打印JSON

问题描述 投票:0回答:2

我正在尝试将以下XML文件转换为JSON格式:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
   <data>{"errorCode":"logon.invalid"}</data>
</soapenv:Body>

如果XML文档仅是所有XML元素,则使用Jackson可以很好地进行转换,并转换所有XML元素并将它们漂亮地打印在HTML页面上。但是,当使用上面的示例时,我收到以下输出:

[ {
  "data" : "{\"errorCode\":\"logon.invalid\"}"
} ]

我需要某种方式能够漂亮地打印位于XML元素内的JSON字符串。

关于使用Jackson之类的库来解决这个问题的任何想法?

java json xml jackson pretty-print
2个回答
0
投票
我已经通过提取json部分并单独处理来解决此问题,而不是尝试将XML与json字符串一起解析。

所以这个:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <data>{"errorCode":"logon.invalid"}</data> </soapenv:Body> </soapenv:Envelope>

成为此:

{ "errorCode" : "logon.invalid" }


0
投票
Underscore-java库具有静态方法U.fromXmlMap(xml),U.get(map,path)和U.getJsonMap(json)。您可以将json提取为字符串,然后将其转换为地图。我是该项目的维护者。
© www.soinside.com 2019 - 2024. All rights reserved.