Читать книгу Kochen mit Patrick - Patrick A. Lorenz - Страница 8
JSON versus XML
ОглавлениеObwohl oder gerade weil man JSON und XML in manchen Anwendungsbereichen als Konkurrenten betrachten darf, bietet JSON.NET eine XML-Unterstützung. Diese erlaubt mit gewissen Einschränkungen die Konvertierung von JSON nach XML:
var issueJson =
JsonConvert.SerializeObject(
issues[0]);
var xml =
JsonConvert.DeserializeXmlNode(
issueJson, "issue");
Debug.WriteLine(xml.OuterXml);
Die Zeilen basieren auf dem vorherigen Beispiel und produzieren das folgende XML:
<issue>
<Title>dotnetpro</Title>
<Year>2013</Year>
<Number>12</Number>
<PublicationDate>2013-11-21T00:00:00 </PublicationDate>
<Articles>
<Title>Kochen mit Patrick</Title>
<PageNumber>123</PageNumber>
<Authors>
<FirstName>Patrick A.</FirstName>
<LastName>Lorenz</LastName>
</Authors>
</Articles>
</issue>
Der Prozess lässt sich auch umkehren, allerdings mit Reibungsverlusten.
Im konkreten Beispiel geht die Abbildung der Unterstrukturen als Array verloren, im Vergleich zum JSON weiter oben fehlen die eckigen Klammern. Folglich lässt sich das rückermittelte JSON nicht mehr mit in das Ursprungsobjekt deserialisieren.
{ "Title": "dotnetpro",
"Year": "2013",
"Number“: "12",
"PublicationDate": "2013-11-21T00:00:0",
"Articles": {
"Title": "Kochen mit Patrick",
"PageNumber": "123",
"Authors": {
"FirstName": "Patrick A.",
"LastName": "Lorenz"
}
}
}