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>
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 :
Dictionary<string, Dataset>
à l'aide de Json.NET. 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>
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>
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!