15

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からルートを削除する方法について誰でも提案できますか

4

2 に答える 2

26

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"}]}
于 2013-10-11T14:23:34.610 に答える