Verwendung von JSON.NET zur Verarbeitung von zeilengetrenntem JSON (LDJSON) in C#
In einigen Anwendungen, wie z. B. Google BigQuery, ist das zeilengetrennte JSON-Format (LDJSON) erforderlich. Dieses Format trennt jedes JSON-Objekt durch ein Zeilenumbruchzeichen und ermöglicht so einen effizienten Datenimport.
So serialisieren und deserialisieren Sie LDJSON
Die beliebte C#-JSON-Bibliothek JSON.NET bietet eine Lösung für das LDJSON-Problem. Sie können LDJSON-Daten manuell analysieren, indem Sie JsonTextReader verwenden und das SupportMultipleContent-Flag auf true setzen.
Serialisierungsbeispiel
Für Objektlisten können Sie jedes Objekt einzeln serialisieren und zu einer einzigen LDJSON-Zeichenfolge verketten.
Deserialisierungsbeispiel
Um LDJSON-Daten zu deserialisieren, erstellen Sie einen Reader mit JsonTextReader und durchlaufen Sie diese Objekte, wobei Sie jedes Objekt in den entsprechenden Objekttyp deserialisieren.
Codebeispiel (Pseudocode, muss entsprechend dem tatsächlichen Objekttyp angepasst werden):
<code class="language-csharp">while (jsonReader.Read()) { Foo foo = jsonSerializer.Deserialize<Foo>(jsonReader); jsonList.Add(foo); }</code>
Wenn Ihr gewünschtes Ergebnis eine Liste von Objekten ist, können Sie jedes deserialisierte Objekt in einer Schleife zur Liste hinzufügen.
Unterstützung für durch Kommas getrenntes JSON
Mit Json.Net 10.0.4 und höher unterstützt der bereitgestellte Code auch durch Kommas getrennte JSON-Einträge. Dies macht die Arbeit mit dem JSON-Datenformat flexibler.
Zusammenfassung
Diese Methode bietet einen einfachen Mechanismus zum Serialisieren und Deserialisieren von LDJSON-Daten mithilfe von JSON.NET in C#. Durch Setzen des SupportMultipleContent-Flags können Sie mehrere JSON-Objekte in einem einzigen Stream effizient verarbeiten.
Das obige ist der detaillierte Inhalt vonWie serialisiere und deserialisiere ich zeilengetrennten JSON (LDJSON) in C# mithilfe von JSON.NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!