Maison > développement back-end > C++ > Comment puis-je analyser un flux d'objets JSON concaténés dans une collection IEnumerable à l'aide de JSON.NET ?

Comment puis-je analyser un flux d'objets JSON concaténés dans une collection IEnumerable à l'aide de JSON.NET ?

Linda Hamilton
Libérer: 2025-01-09 21:44:44
original
428 Les gens l'ont consulté

How Can I Parse a Stream of Concatenated JSON Objects into an IEnumerable Collection Using JSON.NET?

Analyser efficacement les objets JSON concaténés à l'aide de JSON.NET

JSON.NET propose des outils robustes pour gérer les données JSON. Ce guide se concentre sur l'analyse d'un flux d'objets JSON concaténés dans une IEnumerable collection.

La stratégie de base consiste à utiliser un JsonSerializer avec CheckAdditionalContent défini sur false, permettant l'analyse de plusieurs objets. Le flux est enveloppé dans un StreamReader, alimentant un JsonTextReader pour l'ingestion de données JSON.

Pour traiter le flux continu, régler SupportMultipleContent sur true est essentiel. Un piège courant est de ne pas faire avancer correctement le lecteur après la désérialisation. La solution réside dans une boucle soigneusement structurée :

<code class="language-csharp">while (jsonReader.Read())
{
    yield return serializer.Deserialize<TResult>(jsonReader);
}</code>
Copier après la connexion

Cette boucle garantit que chaque objet JSON est lu et désérialisé en un objet TResult, produisant ainsi efficacement chaque objet de la collection IEnumerable.

N'oubliez pas que le IEnumerable doit être itéré pendant que le flux reste ouvert. L'exemple suivant illustre cela :

<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>
Copier après la connexion

Pour des informations détaillées et d'autres exemples, reportez-vous aux ressources suivantes :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal