原XML
<response><itemList><item><number>5</number></item></itemList></response>
不做处理,转成json
{"response":{"itemList":{"item":{"number":"5"}}}}
实际上item
为集合对象,但是在item节点下只有一个数据的时候,默认转换成了对象而非数组
希望转成下面的json
{"response":{"itemList":{"item":[{"number":"5"}]}}}
需要为item
加上特性
//取得item节点
var node = doc.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(0);
var attribute = doc.CreateAttribute("json", "Array", "http://james.newtonking.com/projects/json");
attribute.InnerText = "true";
node.Attributes.Append(attribute);
示例代码
参考资料
C# 强制JSON.NET将xml转换为JSON数组
xml转换为json格式时,如何将指定节点转换成数组 Json.NET
Convert XML to JSON and force array