Maison >développement back-end >C++ >Comment Json.NET peut-il analyser efficacement les gros fichiers JSON en C# ?

Comment Json.NET peut-il analyser efficacement les gros fichiers JSON en C# ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-11 06:25:43935parcourir

Analyser efficacement les fichiers JSON moyens et grands en C# : explication détaillée de la méthode Json.NET

How Can Json.NET Efficiently Parse Large JSON Files in C#?

Lors du traitement de gros fichiers JSON en C#, leur chargement directement dans un tableau peut rencontrer des goulots d'étranglement en termes de performances. Cet article présentera une solution efficace utilisant la bibliothèque Json.NET.

Solution Json.NET

Json.NET est une bibliothèque d'analyse JSON populaire en C#. Elle offre un moyen pratique et efficace de lire et d'analyser les données JSON.

L'exemple suivant montre comment charger un gros fichier JSON dans List<Item> à l'aide de Json.NET :

<code class="language-csharp">public void LoadJson()
{
    using (StreamReader r = new StreamReader("file.json"))
    {
        string json = r.ReadToEnd();
        List<Item> items = JsonConvert.DeserializeObject<List<Item>>(json);
    }
}

public class Item
{
    public int millis;
    public string stamp;
    public DateTime datetime;
    public string light;
    public float temp;
    public float vcc;
}</code>

Ce code lit d'abord le fichier JSON dans une chaîne json, puis utilise JsonConvert.DeserializeObject pour le désérialiser en List<Item>. Chaque élément de la liste représente un objet dont les propriétés correspondent aux nœuds JSON.

Traitement dynamique des données

Pas besoin de créer une classe personnalisée, Json.NET peut également obtenir dynamiquement des valeurs de données JSON. Un exemple est le suivant :

<code class="language-csharp">dynamic array = JsonConvert.DeserializeObject(json);
foreach (var item in array)
{
    Console.WriteLine("{0} {1}", item.temp, item.vcc);
}</code>

Ici, array une variable est un objet dynamique qui permet d'accéder à ses propriétés sans vérification de type. Cette approche est plus pratique si vous n'avez pas besoin de stocker les données dans un objet spécifique.

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!

Déclaration:
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