Читать книгу Kochen mit Patrick - Patrick A. Lorenz - Страница 7
JSON.NET für die schwierigen Fälle
ОглавлениеJSON.NET ist nicht auf einfache Strukturen begrenzt. Es lassen sich Arrays, Dictionaries und komplexe Objektbäume damit umwandeln. Im folgenden Beispiel werden drei Klassen in Collections ineinander verschachtelt. Abgebildet wird ein einfaches Artikelarchiv aus Ausgaben mit Artikeln und Autoren:
var issues = new List<Issue> {
new Issue {
Title = "dotnetpro",
Year = 2013,
Number = 12,
PublicationDate = new DateTime(2013, 11, 21),
Articles = new List<Article> {
new Article {
Title = "Kochen mit Patrick",
PageNumber = 123,
Authors = new List<Author> {
new Author {
FirstName = "Patrick A.",
LastName = "Lorenz"
}
}
}
}
}
};
Mit den weiter oben gezeigten Aufrufen produziert JSON.NET aus der Struktur ein ansehnliches Stück JSON:
[{
"Title": "dotnetpro",
"Year": 2013,
"Number": 12,
"PublicationDate": "2013-11-21T00:00:00",
"Articles": [
{
"Title": "Kochen mit Patrick",
"PageNumber": 123,
"Authors": [
{
"FirstName": "Patrick A.",
"LastName": "Lorenz"
}
]
}
]
}]
Offiziell unterstützt JSON keine Datumswerte. Hier spielt JSON.NET seine Stärken aus: Die Bibliothek bietet eine ausgesprochen umfangreiche Unterstützung von JSON mit sehr vielen Details und Spezialfällen. Datumswerte in verschiedenen gängigen Interpretationen gehören da schon zu den Basics.