漂亮的打印JSON包含在XML元素中

时间:2015-09-29 01:30:10

标签: java json xml jackson pretty-print

我正在尝试将以下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字符串。

我是如何使用像杰克逊这样的图书馆来解决这个问题的?

1 个答案:

答案 0 :(得分:0)

我通过解压缩json部分并单独处理它而不是尝试使用json字符串解析XML来解决这个问题。

所以这个:

<?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"
}