Maison > développement back-end > C++ > Comment désérialiser JSON avec des clés dynamiques dans une liste d'objets en C# ?

Comment désérialiser JSON avec des clés dynamiques dans une liste d'objets en C# ?

Linda Hamilton
Libérer: 2025-01-19 19:27:11
original
125 Les gens l'ont consulté

How to Deserialize JSON with Dynamic Keys into a List of Objects in C#?

Désérialisation JSON gérant les clés dynamiques en C#

Lors de la réception de réponses JSON avec des clés dynamiques, une tâche courante consiste à les désérialiser en une liste d'objets en C#. Considérons un scénario où la réponse JSON contient le contenu suivant :

<code class="language-json">{
"nasdaq_imbalance": {
    "name": "nasdaq_imbalance",
    "group": "Market Data",
    "description": null
},
"DXOpen IM": {
    "name": "DXOpen IM",
    "group": "Daily",
    "description": null
},
"Float Shares": {
    "name": "Float Shares",
    "group": "Daily",
    "description": null
}
}</code>
Copier après la connexion

Gérer la désérialisation des clés dynamiques

Afin de désérialiser ce JSON en une liste d'objets, vous pouvez suivre les étapes suivantes :

  1. Désérialisez JSON en Dictionary<string, Dataset> à l'aide de Json.NET.
  2. Parcourez le dictionnaire pour remplir la liste des Dataset objets.

Ce qui suit est un exemple de code :

<code class="language-csharp">using Newtonsoft.Json;
using System.Collections.Generic;

// ...

var jsonObject = JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json);
var datasetList = new List<Dataset>();

foreach (var item in jsonObject)
{
    datasetList.Add(item.Value);
}</code>
Copier après la connexion

Ce code créera une Dataset liste d'objets contenant les valeurs des clés dynamiques dans la réponse JSON. La liste résultante sera :

<code>datasetList[0].name = "nasdaq_imbalance"
datasetList[0].group = "Market Data"

datasetList[1].name = "DXOpen IM"
datasetList[1].group = "Daily"

datasetList[2].name = "Float Shares"
datasetList[2].group = "Daily"</code>
Copier après la connexion

Veuillez noter que cette méthode suppose que la classe Dataset est définie et contient les propriétés name et group. Vous devez ajuster le code en fonction de votre Dataset structure de classe réelle.

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