C#中处理动态键的JSON反序列化
在接收具有动态键的JSON响应时,一个常见的任务是将它们反序列化为C#中的对象列表。让我们考虑一个JSON响应包含以下内容的场景:
<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>
处理动态键的反序列化
为了将此JSON反序列化为对象列表,您可以使用以下步骤:
Dictionary<string, Dataset>
。Dataset
对象的列表。以下是一个示例代码:
<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>
此代码将创建一个Dataset
对象列表,其中包含JSON响应中动态键的值。生成的列表将是:
<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>
请注意,此方法假设Dataset
类已定义,并包含name
和group
属性。 你需要根据你的实际Dataset
类结构调整代码。
以上是如何使用动态键将 JSON 反序列化为 C# 中的对象列表?的详细内容。更多信息请关注PHP中文网其他相关文章!