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 中国語 Web サイトの他の関連記事を参照してください。