Cat*_*lMF 1 .net c# json json.net
我正在使用JSON.NET将一些XML转换为JSON.
我的XML看起来像这样:
<Root>
<Product>
<Name />
<Id />
</Product>
<Product>
<Name />
<Id />
</Product>
</Root>
Run Code Online (Sandbox Code Playgroud)
我使用这种方法转换xml:
private string ConvertToJson(string xml)
{
XmlDocument XmlDoc = new XmlDocument();
XmlDoc.LoadXml(xml);
var JsonString = JsonConvert.SerializeXmlNode(XmlDoc);
return JsonString;
}
Run Code Online (Sandbox Code Playgroud)
只要有多个产品,JSON.NET就会创建一个JSON数组.但是,如果只有一个产品,JSON.NET将不会创建JSON数组,但我需要它.
有什么方法可以强制它创建一个JSON数组?
如果您事先知道XML模式,则可以通过附加json:Array="true"到要转换为数组的节点来强制生成数组
static string convertToJson(string what)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(what);
var products = doc.GetElementsByTagName("Product");
if (products.Count == 1)
{
var attribute = doc.CreateAttribute("json", "Array", "http://james.newtonking.com/projects/json");
attribute.InnerText = "true";
var node = products.Item(0) as XmlElement;
node.Attributes.Append(attribute);
}
string json = JsonConvert.SerializeXmlNode(doc);
return json;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2180 次 |
| 最近记录: |