Heim > Backend-Entwicklung > C++ > Wie analysiere ich einen Stream verketteter JSON-Objekte mit JSON.NET?

Wie analysiere ich einen Stream verketteter JSON-Objekte mit JSON.NET?

Linda Hamilton
Freigeben: 2025-01-09 21:16:41
Original
158 Leute haben es durchsucht

How to Parse a Stream of Concatenated JSON Objects with JSON.NET?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Weitere Hinweise:

  • Stellen Sie sicher, dass Sie IEnumerable<T> iterieren, während der Stream geöffnet ist.
  • Setzen Sie 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“ (https://www.php.cn/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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage