ホームページ >バックエンド開発 >C++ >C#で動的キーを含むJSONをオブジェクトのリストに逆シリアル化する方法は?

C#で動的キーを含むJSONをオブジェクトのリストに逆シリアル化する方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-19 19:27:11126ブラウズ

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>

このコードは、JSON 応答内の動的キーの値を含むオブジェクトの Dataset リストを作成します。結果のリストは次のようになります:

<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 クラス構造に従ってコードを調整する必要があります。

以上がC#で動的キーを含むJSONをオブジェクトのリストに逆シリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。