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

動的キーを使用して JSON を C# オブジェクトのリストに逆シリアル化する方法

Patricia Arquette
リリース: 2025-01-19 19:23:08
オリジナル
512 人が閲覧しました

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

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート