gpt4 book ai didi

c# - 在 C# 中从 XML 解析为 JSON 时如何避免 ROOT 元素

转载 作者:可可西里 更新时间:2023-11-01 08:39:40 25 4
gpt4 key购买 nike

我正在尝试使用 JSON.NET 从 xml 创建 JSON

XmlDocument docPerson = new XmlDocument();
docPerson.LoadXml(xmlPerson); //xmlPerson is the xml from above
JObject personDefinition = JObject.Parse(JsonConvert.SerializeObject(docPerson));
Tasks.personDefinition = personDefinition["personDefinition"];

输出 JSON

"person":{"person":[{"personId":"1","firstName":"Name1","lastName":"lastName1"},                  {"personId":"3","firstName":"Name2","lastName":"lastName2"}]}

我不需要外面的人,只需要下面的json

必需的 JSON

"person":[{"personId":"1","firstName":"1","lastName":"Weight"},{"personId":"3","firstName":"4","lastName":"Pulse Ox"}]}

我曾尝试使用 .first 方法,但它会引发错误。谁能建议如何从输出 json 中去除根

最佳答案

JSON.Net 有一个 SerializeXmlNode() 方法,它可以完全按照您的要求执行。只需将 true 传递给 omitRootObject 参数即可。观察:

string xmlPerson = @"<PersonDefinition><Person><name>Nicolas</name><age>22</age></Person><Person><name>Pankaj</name><age>25</age></Person></PersonDefinition>";
XmlDocument docPerson = new XmlDocument();
docPerson.LoadXml(xmlPerson);
string json = JsonConvert.SerializeXmlNode(docPerson, Formatting.None, true);
Console.WriteLine(json);

输出:

{"Person":[{"name":"Nicolas","age":"22"},{"name":"Pankaj","age":"25"}]}

关于c# - 在 C# 中从 XML 解析为 JSON 时如何避免 ROOT 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19311332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com