我目前正在使用Newtonsoft将一些xml转换为json,以从RestExtension返回。
我的xml格式为
<Items> <Item> <Name>name</Name> <Detail>detail</Detail> </Item> <Item> <Name>name</Name> <Detail>detail</Detail> </Item> </Items>
我将其转换为json
JsonConvert.SerializeXmlNode(xmldocument);
如果有多个项目,则可以正常工作。
我得到这个-json中的项目数组(这是我需要的):
{"Items":{"Item":[{"Name":"name","Detail":"detail"},{"Name":"name","Detail":"detail"}]}}
但是,当只有一个时,可以这样转换(而不是数组):
{"Items":{"Item":{"Name":"name","Detail":"detail"}}}
正在阅读此内容的我的应用程序开发人员需要json返回一组项,无论是否存在一个或多个。
有没有办法欺骗它,以为它是数组,或者有人可以建议另一种方法?
阅读有关序列化Xml节点的文档
您可以通过这种方式强制使用JSON数组
var xml = @"<Items xmlns:json='http://james.newtonking.com/projects/json' > <Item json:Array='true'> <Name>name</Name> <Detail>detail</Detail> </Item> </Items>";
演示