Maison > développement back-end > C++ > Comment désérialiser JSON avec des clés dynamiques à l'aide d'un dictionnaire en C# ?

Comment désérialiser JSON avec des clés dynamiques à l'aide d'un dictionnaire en C# ?

DDD
Libérer: 2025-01-17 10:17:09
original
860 Les gens l'ont consulté

How to Deserialize JSON with Dynamic Keys Using a Dictionary in C#?

Gestion flexible de la désérialisation JSON avec des clés dynamiques à l'aide de dictionnaires

Dans le monde JSON, rencontrer des chaînes JSON avec des clés racine dynamiques et imprévisibles peut présenter des défis lors de la désérialisation en objets. Voici comment résoudre ce problème à l'aide des méthodes du dictionnaire.

Par exemple, considérons la chaîne JSON suivante :

<code>{
    "daily": {
        "1337990400000": 443447,
        "1338076800000": 444693,
        "1338163200000": 452282,
        "1338249600000": 462189,
        "1338336000000": 466626
    }
}</code>
Copier après la connexion

Les clés étant dynamiques, utiliser un JavascriptSerializer avec une structure de classe n'est pas suffisant ici. Une solution plus flexible consiste à désérialiser la chaîne JSON dans un dictionnaire, ce qui nous permet d'accéder facilement aux clés dynamiques et à leurs valeurs correspondantes.

<code class="language-csharp">var deser = new JavaScriptSerializer().Deserialize<Dictionary<string, Dictionary<string, int>>>(val);</code>
Copier après la connexion

Cette ligne crée un dictionnaire deser où les clés sont des chaînes et les valeurs sont des dictionnaires avec des clés de chaîne et des valeurs entières. Il mappe efficacement les clés dynamiques d'une chaîne JSON à un dictionnaire intermédiaire.

Pour accéder à des données spécifiques, nous pouvons utiliser le code suivant :

<code class="language-csharp">var justDaily = deser["daily"];</code>
Copier après la connexion

La variable justDaily contient désormais un dictionnaire représentant l'objet "quotidien" à partir d'une chaîne JSON. Nous pouvons parcourir ses clés et valeurs pour extraire les clés dynamiques et les valeurs correspondantes.

<code class="language-csharp">foreach (string key in justDaily.Keys)
    Console.WriteLine(key + ": " + justDaily[key]);</code>
Copier après la connexion

Cette approche nous permet de gérer des chaînes JSON avec des clés racine dynamiques en les convertissant en structures de dictionnaire et offre une flexibilité lors de l'accès aux données. Vous pouvez profiter pleinement de la puissance des dictionnaires pour désérialiser facilement JSON même si les clés sont imprévisibles.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal