我需要将一些Json转换为XML但是当我这样做时会删除所有空数组/ list / collections / etc ......
如何让它将数组包含为空项?
示例Json:
{
"EmptyCollection": [],
"OtherPorperty\": "TestValue"
}
C#代码:
var jsonString = "{ \"EmptyCollection\": [], \"OtherPorperty\":\"TestValue\" }";
var xmlDoc = JsonConvert.DeserializeXmlNode(jsonString, "root", true);
Console.WriteLine(xmlDoc.InnerXml);
实际结果是
<root>
<OtherPorperty>TestValue</OtherPorperty>
</root>
期望的结果是
<root>
<EmptyCollection></EmptyCollection>
<OtherPorperty>TestValue</OtherPorperty>
</root>
or
<root>
<EmptyCollection />
<OtherPorperty>TestValue</OtherPorperty>
</root>
使用writeArrayAtribute似乎不起作用。
答案 0 :(得分:0)
我认为这个含义存在问题。我个人认为Json库完成的转换很好,你不能得到你提出的两个结果之一。 提出的每个场景中的标签并不意味着(从XML的角度来看)它是一个空数组。但这意味着属性(不是数组)EmptyCollection是空的。你会失去一些东西。
我建议你测试标签的缺失是否为“无信息”a.k.a“数组中没有条目”