Verwenden Sie JSON.NET, um den JSON-Objektstrom zu analysieren
Verwenden Sie JSON.NET, um einen trennzeichenfreien kontinuierlichen Strom von JSON-Objekten wie folgt in IEnumerable<T>
zu deserialisieren:
<code class="language-csharp">public IEnumerable<TResult> ReadJson<TResult>(Stream stream) { var serializer = new JsonSerializer(); serializer.CheckAdditionalContent = false; 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>
Verwendung:
Das folgende Beispiel zeigt die Iteration IEnumerable<T>
, während ein Stream geöffnet ist:
<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>
Weitere Hinweise:
IEnumerable<T>
iterieren, während der Stream geöffnet ist. CheckAdditionalContent
auf false
, um Ausnahmen zu verhindern, wenn nach der Deserialisierung zusätzlicher Inhalt auftritt. Beispiel:
Bitte beachten Sie das folgende Beispiel auf der JSON.NET-Website: „Mehrere Fragmente mit JsonReader lesen“ (//m.sbmmt.com/link/b0a3f2a0d6f86051e6ab6c49d6d99e75).
Das obige ist der detaillierte Inhalt vonWie analysiere ich einen Stream verketteter JSON-Objekte mit JSON.NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!