JSON-Objektstream mit JSON.NET analysieren
Beim Deserialisieren eines verketteten Stroms von JSON-Objekten ohne Trennzeichen besteht das Problem darin, wie man mit JSON.NET richtig damit umgeht.
Die versuchte Lösung umfasst die Verwendung eines Stream-Readers, eines JSON-Textreaders und einer benutzerdefinierten Schleife, um den Stream in ein IEnumerable zu deserialisieren
Um dies zu korrigieren, müssen einige Änderungen an der Schleife vorgenommen werden:
<code class="language-csharp">public IEnumerable<TResult> ReadJson<TResult>(Stream stream) { var serializer = new JsonSerializer(); using (var reader = new StreamReader(stream)) using (var jsonReader = new JsonTextReader(reader)) { jsonReader.SupportMultipleContent = true; while (jsonReader.Read()) { yield return serializer.Deserialize<TResult>(jsonReader); } } }</code>
Es ist wichtig zu beachten, dass das zurückgegebene IEnumerable
<code class="language-csharp">using (var stream = /* some stream */) { IEnumerable<MyClass> result = ReadJson<MyClass>(stream); foreach (var item in result) { Console.WriteLine(item.MyProperty); } }</code>
Diese Technologie befindet sich auf der Dotnetfiddle-Website (https://www.php.cn/link/a3b1c195e3033e5086eb7482c0942e4a.
Das obige ist der detaillierte Inhalt vonWie deserialisiere ich einen Stream verketteter JSON-Objekte in JSON.NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!