首頁 > 後端開發 > C++ > 如何使用動態鍵將 JSON 反序列化為 C# 中的物件清單?

如何使用動態鍵將 JSON 反序列化為 C# 中的物件清單?

Linda Hamilton
發布: 2025-01-19 19:27:11
原創
125 人瀏覽過

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

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反序列化為物件列表,您可以使用以下步驟:

  1. 使用Json.NET將JSON反序列化為Dictionary<string, Dataset>
  2. 遍歷字典以填入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類別已定義,並包含namegroup屬性。 你需要根據你的實際Dataset類別結構調整程式碼。

以上是如何使用動態鍵將 JSON 反序列化為 C# 中的物件清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板