使用XMLSerializer()方式转成json的问题

本文探讨了使用XMLSerializer将XML转换为JSON时遇到的问题,特别是当XML结构中包含单个子节点时,转换后的JSON可能错误地将其识别为列表。通过两个示例详细说明了这一现象,强调了在进行XML到JSON转换时需要谨慎处理此类情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引入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"}]}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值