Serialisierung und Deserialisierung von durch Zeilenumbrüche getrennten JSON-Daten in C#
In C# können Sie die JSON.NET-Bibliothek nutzen, um durch Zeilenumbrüche getrennte JSON-Daten zu verarbeiten. Dieses Format von JSON-Daten ist für die Interaktion mit Diensten wie Google BigQuery unerlässlich.
Serialisierungs- und Deserialisierungsprozess
Sie können JsonTextReader
verwenden, um durch Zeilenumbrüche getrennte JSON-Daten zu analysieren. Die spezifischen Schritte sind wie folgt:
Foo
oder Person
), um die JSON-Datenstruktur darzustellen. SupportMultipleContent
-Objekt mit dem true
-Flag, das auf JsonTextReader
gesetzt ist. Dies ist für die Verarbeitung mehrerer JSON-Objekte in einem einzigen Stream unerlässlich. JsonSerializer
. Wenn Sie die deserialisierten Ergebnisse als Liste speichern müssen, fügen Sie jedes deserialisierte Element in einer Schleife zur Liste hinzu.
Beispiel 1: Einfache JSON-Daten
Für die folgenden JSON-Daten:
<code>{"some":"thing1"} {"some":"thing2"} {"some":"thing3"}</code>
Der folgende Code demonstriert den Deserialisierungsprozess:
<code class="language-csharp">var json = "{\"some\":\"thing1\"}\r\n{\"some\":\"thing2\"}\r\n{\"some\":\"thing3\"}"; var jsonReader = new JsonTextReader(new StringReader(json)) { SupportMultipleContent = true }; var jsonSerializer = new JsonSerializer(); var fooList = new List<Foo>(); while (jsonReader.Read()) { fooList.Add(jsonSerializer.Deserialize<Foo>(jsonReader)); }</code>
Beispiel 2: Komplexe JSON-Daten
Für komplexere JSON-Daten:
<code>{"kind": "person", "fullName": "John Doe", "age": 22, "gender": "Male", "citiesLived": [{ "place": "Seattle", "numberOfYears": 5}, {"place": "Stockholm", "numberOfYears": 6}]} {"kind": "person", "fullName": "Jane Austen", "age": 24, "gender": "Female", "citiesLived": [{"place": "Los Angeles", "numberOfYears": 2}, {"place": "Tokyo", "numberOfYears": 2}]}</code>
Erstellen Sie eine Person
POCO-Klasse und deserialisieren Sie sie mit derselben Methode wie in Beispiel 1.
Es ist wichtig zu beachten, dass diese Technologie auch durch Kommas getrennte JSON-Einträge mit Json.Net 10.0.4 und höher unterstützt.
Das obige ist der detaillierte Inhalt vonWie deserialisiere ich zeilengetrennten JSON in C# mithilfe von JSON.NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!