引入XMLSerializer之后,通过JSON respJson = new XMLSerializer().read(responseXml);方法将xml转换成json字符串。
这种方法虽然简单但是有个很大的缺陷
当一个节点下只有一个节点的时候,利用XMLSerializer()去解析的时候就程序无法识别它是一个list还是一个单节点。
a、报文xml:
<Response>
<DateTime>1516155816683</DateTime>
<Content>
<retCode>0</retCode>
</Content>
</Response>
解析json:
{"DateTime":"1516155816683","Content":["0"]}
b、报文xml
<Response>
<Datetime>1516155816683</Datetime>
<Content>
<return>
<retCode>0</retCode>
<retMsg>success</retMsg>
</return>
</Content>
</Response>
解析json
{"Datetime":"1516155816683","Content":[{"retCode":"0","retMsg":"success"}]}
本文探讨了使用XMLSerializer将XML转换为JSON时遇到的问题,特别是当XML结构中包含单个子节点时,转换后的JSON可能错误地将其识别为列表。通过两个示例详细说明了这一现象,强调了在进行XML到JSON转换时需要谨慎处理此类情况。
1万+

被折叠的 条评论
为什么被折叠?



