C#NewtonSoft JsonConvert serializexmlnode到嵌套数组?

时间:2018-07-13 09:33:19

标签: c# .net json.net

从JSON到XML序列化的默认行为是数组元素与非数组元素出现在同一级别。就像来自https://www.newtonsoft.com/json/help/html/ConvertJsonToXml.htm的示例一样:

 {
  'Email': 'james@example.com',
  'Active': true,
  'CreatedDate': '2013-01-20T00:00:00Z',
  'Roles': [
    'User',
    'Admin'
  ]
 }

序列化为

<Root>
   <Email>james@example.com</Email>
   <Active>true</Active>
   <CreatedDate>2013-01-20T00:00:00Z</CreatedDate>
   <Roles>User</Roles>
   <Roles>Admin</Roles>
</Root>

但是我需要形式为

的XML数组
<Roles>
  <Item>User</Item>
  <Item>Admin</Item>
</Roles>

我该如何实现?

谢谢。

1 个答案:

答案 0 :(得分:0)

没问题!

var source = "(your JSON");
dynamic roles = JObject.Parse(source).Roles;   

在此之后,您可以将角色重新序列化为XML,以获得所需的结果。