我有一块看起来像的XML
<person xmlns:json='http://james.newtonking.com/projects/json' id='1'>
<name>Alan</name>
<url>http://www.google.com</url>
<role json:Array='true'>Admin</role>
</person>
Run Code Online (Sandbox Code Playgroud)
当我尝试将其序列化为json时,string json = JsonConvert.SerializeXmlNode(xml);它会忽略名称空间
{
"person": {
"@id": "1",
"name": "Alan",
"url": "http://www.google.com",
"role": [
"Admin"
]
}
}
Run Code Online (Sandbox Code Playgroud)
当我将它反序列化回xml时XmlDocument xml = JsonConvert.DeserializeXmlNode(json),我得到以下内容:
<person id='1'>
<name>Alan</name>
<url>http://www.google.com</url>
<role>Admin</role>
</person>
Run Code Online (Sandbox Code Playgroud)
我该如何保留json:Array属性?
我有这行代码(总是返回 1):
int rowsCount = token["rows"].Count();
Run Code Online (Sandbox Code Playgroud)
其中 token["rows"] 是:
{
"component": [
{
"tag": "CUT",
"missingValue": "",
"format": "Cont",
"varName": "GPA",
"label": "Grade point average",
"element": [
{
"startValue": "1",
"endValue": "249",
"label": "Lower than 2.50"
},
{
"startValue": "250",
"endValue": "299",
"label": "2.50 - 2.99"
},
{
"startValue": "300",
"endValue": "349",
"label": "3.00 - 3.49"
},
{
"startValue": "350",
"endValue": "400",
"label": "3.50 or higher"
}
]
},
{
"tag": "CAT",
"missingValue": "",
"format": "Disc",
"varName": "STEMMAJ",
"label": "Major …Run Code Online (Sandbox Code Playgroud) 我正在使用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数组?