Heim >Backend-Entwicklung >C++ >Wie kann ich einen Stream verketteter JSON-Objekte mithilfe von JSON.NET in eine IEnumerable-Sammlung analysieren?
JSON.NET bietet robuste Tools für den Umgang mit JSON-Daten. Dieser Leitfaden konzentriert sich auf das Parsen eines Streams verketteter JSON-Objekte in eine IEnumerable
-Sammlung.
Die Kernstrategie besteht darin, ein JsonSerializer
zu verwenden, wobei CheckAdditionalContent
auf false
gesetzt ist, was die Analyse mehrerer Objekte ermöglicht. Der Stream ist in ein StreamReader
eingeschlossen und speist ein JsonTextReader
für die JSON-Datenaufnahme.
Um den kontinuierlichen Stream zu verarbeiten, ist die Einstellung von SupportMultipleContent
auf true
von entscheidender Bedeutung. Eine häufige Gefahr besteht darin, dass der Reader nach der Deserialisierung nicht ordnungsgemäß weitergeschaltet wird. Die Lösung liegt in einer sorgfältig strukturierten Schleife:
<code class="language-csharp">while (jsonReader.Read()) { yield return serializer.Deserialize<TResult>(jsonReader); }</code>
Diese Schleife stellt sicher, dass jedes JSON-Objekt gelesen und in ein TResult
-Objekt deserialisiert wird, wodurch jedes Objekt innerhalb der IEnumerable
-Sammlung effizient ausgegeben wird.
Denken Sie vor allem daran, dass IEnumerable
wiederholt werden sollte, während der Stream geöffnet bleibt. Das folgende Beispiel verdeutlicht dies:
<code class="language-csharp">using (var stream = /* your stream */) { IEnumerable<MyClass> result = ReadJson<MyClass>(stream); foreach (var item in result) { Console.WriteLine(item.MyProperty); } }</code>
Ausführliche Informationen und weitere Beispiele finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonWie kann ich einen Stream verketteter JSON-Objekte mithilfe von JSON.NET in eine IEnumerable-Sammlung analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!