Maison > développement back-end > C++ > Comment puis-je analyser efficacement des fichiers JSON volumineux et multi-tableaux dans .NET ?

Comment puis-je analyser efficacement des fichiers JSON volumineux et multi-tableaux dans .NET ?

Patricia Arquette
Libérer: 2025-01-05 21:23:43
original
943 Les gens l'ont consulté

How Can I Efficiently Parse Large, Multi-Array JSON Files in .NET?

Analyse de fichiers JSON volumineux et multi-tableaux dans .NET

L'analyse de fichiers JSON volumineux peut être un défi dans .NET, surtout si la structure JSON n'est pas standard . Un problème courant rencontré lors de l'utilisation de la méthode JsonConvert.Deserialize est qu'elle peut lever une exception pour les fichiers volumineux.

Ce problème se produit généralement lorsque le fichier JSON contient un tableau suivi d'un autre tableau sans délimiteur. Ce format n'est pas valide dans JSON, ce qui entraîne l'échec de JsonConvert.Deserialize.

Pour résoudre ce problème, Json.NET fournit la classe JsonTextReader, qui permet une analyse plus flexible du contenu JSON. En définissant l'indicateur SupportMultipleContent sur true dans JsonTextReader, nous pouvons analyser plusieurs tableaux à partir d'un seul fichier JSON en tant qu'objets distincts.

Voici un exemple de code mis à jour illustrant cette technique :

using (WebClient client = new WebClient())
using (Stream stream = client.OpenRead(stringUrl))
using (StreamReader streamReader = new StreamReader(stream))
using (JsonTextReader reader = new JsonTextReader(streamReader))
{
    reader.SupportMultipleContent = true;

    var serializer = new JsonSerializer();
    while (reader.Read())
    {
        if (reader.TokenType == JsonToken.StartObject)
        {
            Contact c = serializer.Deserialize<Contact>(reader);
            Console.WriteLine(c.FirstName + " " + c.LastName);
        }
    }
}
Copier après la connexion

Cette approche nous permet d'analyser le fichier JSON non standard d'une manière efficace en mémoire, quel que soit le nombre de tableaux ou d'éléments dans chaque tableau. L'exemple JSON fourni dans la question peut être traité avec succès à l'aide de cette technique.

Pour une démonstration complète, reportez-vous au lien suivant : https://dotnetfiddle.net/2TQa8p

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