XML转Json 设置指定节点为数组

原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);

示例代码

XMLToJsonTest

参考资料

C# 强制JSON.NET将xml转换为JSON数组
xml转换为json格式时,如何将指定节点转换成数组 Json.NET
Convert XML to JSON and force array

posted @ 2022-03-23 19:06  Lulus  阅读(621)  评论(0编辑  收藏  举报