繁体   English   中英

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

[英]How to serialize empty arrays when converting to XML with Json.Net

我需要将一些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库完成的转换就可以了,而且您无法获得您提出的两个结果之一。 从XML的角度来看,在每种情况下提出的Tag都不意味着它是一个空数组。 但这意味着EmptyCollection属性(而不是array)为空。 你会失去一些东西。

我建议您测试标签是否为“ no information”(也称为“数组中没有条目”)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM