C# 中的動態鍵 JSON 反序列化
在某些情況下,Web 請求可能會傳回具有動態鍵的 JSON 回應,這給反序列化到 C# 物件帶來了挑戰。例如,考慮以下 JSON 回應:
<code>{ "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 反序列化到以下類型的 C# 物件清單中:
<code>public class Dataset { public string name { get; set; } public string group { get; set; } public string description { get; set; } }</code>
為此,我們可以利用 Json.NET 的強大功能。以下程式碼片段說明如何實現:
<code class="language-csharp">Dictionary<string, Dataset> datasets = JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json);</code>
這行程式碼將 JSON 反序列化到一個字典中,其中鍵是 JSON 回應中的動態鍵(例如,「nasdaq_imbalance」、「DXOpen IM」等),值是 Dataset 類別的實例。
從此字典中,您可以輕鬆地透過其動態鍵存取資料集,並根據需要使用它們。例如,要存取鍵為「nasdaq_imbalance」的資料集:
<code class="language-csharp">Dataset nasdaqImbalanceDataset = datasets["nasdaq_imbalance"];</code>
請記住,此解決方案僅適用於預先知道動態鍵的情況。如果鍵可以動態變化,則可能需要更複雜的方法。
以上是如何使用動態鍵將 JSON 反序列化為 C# 物件清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!