1、如果xml转json时候 如果该节点内有一个元素 就转换成单个元素
如果节点内有多个元素 则转换成数组的形式 这是json的一个特点(因为是弱类型,所以会根据具体转换内容决定类型)
<root>
<first>
<item>abc</item> //多个元素
<item>def</item>
</first>
<first>
<item>ghi</item> //一个元素
</first>
</root>
{
"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 {
//有长度 是数组 多个元素
}
相关文章 :https://q.cnblogs.com/q/41823/