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

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

Mary-Kate Olsen
Libérer: 2025-01-17 10:31:09
original
166 Les gens l'ont consulté

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

Gestion des clés JSON dynamiques en C# avec des dictionnaires

Les données JSON présentent souvent des défis lorsqu'il s'agit de clés imprévisibles. Cet article se concentre sur un scénario courant : une clé racine statique (« quotidienne » dans cet exemple) contenant des clés dynamiques basées sur un horodatage. La solution consiste à utiliser un dictionnaire pour une désérialisation flexible.

Voici une approche robuste :

  1. Exploitez les dictionnaires pour plus de flexibilité : Au lieu de créer une structure de classe rigide, utilisez Dictionary<string, object> pour accueillir les clés dynamiques. Cela permet une gestion transparente des clés inconnues au moment de l'exécution.

  2. Désérialiser avec JavaScriptSerializer : Utilisez la classe JavaScriptSerializer pour analyser la chaîne JSON dans un dictionnaire. Le code ci-dessous le démontre :

    <code class="language-csharp"> var deserializer = new JavaScriptSerializer();
     var dictionary = deserializer.Deserialize<Dictionary<string, object>>(json);</code>
    Copier après la connexion
  3. Accéder au Dictionnaire Nesté : Les clés dynamiques sont imbriquées sous la clé "quotidienne". Extrayez ce dictionnaire imbriqué en utilisant :

    <code class="language-csharp"> var dailyData = dictionary["daily"] as Dictionary<string, object>;</code>
    Copier après la connexion
  4. Itérer et accéder aux données : Enfin, parcourez le dailyData dictionnaire pour accéder aux horodatages dynamiques et à leurs valeurs associées :

    <code class="language-csharp"> foreach (var kvp in dailyData)
     {
         string timestamp = kvp.Key;
         object value = kvp.Value;
         Console.WriteLine($"{timestamp}: {value}");
     }</code>
    Copier après la connexion

Cette méthode fournit un moyen flexible et efficace de traiter JSON avec des clés dynamiques, garantissant un accès facile aux données sous-jacentes sans nécessiter de connaissance préalable de la structure des clés.

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