我目前正在使用 Newtonsoft 将一些 xml 转换为 json 以从 RestExtension 返回。
我的xml是
的形式<Items>
<Item>
<Name>name</Name>
<Detail>detail</Detail>
</Item>
<Item>
<Name>name</Name>
<Detail>detail</Detail>
</Item>
</Items>
我使用
将其转换为 jsonJsonConvert.SerializeXmlNode(xmldocument);
如果有多个项目,这会很好地工作。
我明白了 - json 中的项目数组(这是我需要的):
{"Items":{"Item":[{"Name":"name","Detail":"detail"},{"Name":"name","Detail":"detail"}]}}
但是当只有一个时,它会像这样转换(不是数组),这是可以理解的:
{"Items":{"Item":{"Name":"name","Detail":"detail"}}}
正在阅读本文的我的应用开发人员需要 json 返回一组项目,无论是否有一个或多个。
有没有办法让它认为它是一个数组,或者有人可以建议另一种方法吗?
最佳答案
阅读此 documentation about Serialize Xml Node
你可以用这种方式强制 JSON 数组
var xml = @"<Items xmlns:json='http://james.newtonking.com/projects/json' >
<Item json:Array='true'>
<Name>name</Name>
<Detail>detail</Detail>
</Item>
</Items>";
关于c# - 只有一个对象时将 XML 转换为 Json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26612835/