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中文網其他相關文章!