1,如果xml转json时候如果该节点内有一个元素就转换成单个元素
如果节点内有多个元素则转换成数组的形式这是json的一个特点(因为是弱类型,所以会根据具体转换内容决定类型)
<根>
<第一>
<item> abc </ item> //多个元素
的<item> DEF </项目>
</第一>
<第一>
<item> ghi </ item> //一个元素
</第一>
</根>
{
“root”:{
“first”:{
“item”:[//多个同名元素数组形式展示如果是不同名元素则分别列出例如“first”:1“second”:2同名的“first” :[1,2]
“abc”,
“def”
]
},
“second”:{“item”:“ghi”} //一个元素直接展示//如何让它也变成“second”:{“item “:[”ghi“]}形式
}
}
解决方案1:建对应模型把xml反序列化成对象(对象指定相应属性为数组)然后再序列化成json
2,在客户端(前台)转换先判断相应属性是否为数组如果不是转换成数组代码如下
if(Object.prototype.toString.apply(root.second)!='[object Array]' ){ step.signer = [root.second]; //如果不是数组转换成数组 }
或if(root.second.lenth == undefined ){
//是一个元素或没有元素为空
} else {
//有长度是数组多元素
}