将Map(含多层嵌套)转为XML格式

当使用Dom4j解析包含数字key的特殊格式JSON时遇到问题,本文介绍了一种方法,首先将这类JSON字符串转化为Map,然后递归解析Map生成XML。详细步骤包括:JSON转Map,Map递归解析,最终实现XML转换,不依赖Dom4j。

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

将数据转为xml格式,我们常用的是采用Dom4j对数据进行解析,但对一些特殊格式的数据解析时,其就不支持,说数据有问题

例如以下json格式字符串数据

{
	"result": [{
		"1": {
			"total": "5",
			"code": "300040",
			"accrate": "0.02",
			"change": "54",
			"name": "九洲电气",
			"totalcap": "39.69",
			"time": "20180331",
			"changesta": "-0.24",
			"fundnum": {
				"num": "12",
				"size": {
					"id":"1001",
					"adress":"北京市"
				}
			}
		},
		"2": {
			"total": "6",
			"code": "300041",
			"accrate": "0.12",
			"change": "154",
			"name": "中国邮电",
			"totalcap": "39.69",
			"time": "20180431",
			"changesta": "-0.24",
			"fundnum": {
				"num": "169",
				"size": {
					"id":"1002",
					"adress":"深圳市"
				}
			}
		}
	}],
	"reason": "SUCCESSED!",
	"error_code": 0,
	"resultcode": "200"
}

错误(不支持)的原因是:是因为该json格式中存在以数字为key,说其不是正规格式数据,但客户接口其响应结果就是这种格式数据,而我们需要转为xml格式呈现,咋办呢?

我的做法是首先将该json格式字符串转成map,然后将map转xml (注:不采用dom4j,理由已经说明了,不信可以将以上数据转一下试试)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值