如何在使用 Json.Net 转换为 XML 时序列化空数组



>我需要将一些 Json 转换为 XML,但当我这样做时,它会删除所有空数组/列表/集合/等...

如何让它将数组作为空项目包含?

示例 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 似乎不起作用。

我相信意思有问题。我个人认为 Json 库完成的转换很好,您无法获得您提出的两个结果之一。每个方案中的 Tag 并不意味着(从 XML 的角度来看)它是一个空数组。但这意味着属性(不是数组)EmptyCollection是空的。你会失去一些东西。

我建议您测试标签是否缺失,因为"没有信息",即"数组中没有条目"

相关内容

  • 没有找到相关文章

最新更新