ホームページ >バックエンド開発 >C++ >辞書を使用して C# で動的キーを含む JSON を逆シリアル化するにはどうすればよいですか?

辞書を使用して C# で動的キーを含む JSON を逆シリアル化するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-17 10:31:09166ブラウズ

How Can I Deserialize JSON with Dynamic Keys in C# Using a Dictionary?

辞書を使用した C# での動的 JSON キーの処理

JSON データは、予測不可能なキーを扱う際に課題を引き起こすことがよくあります。 この記事では、一般的なシナリオ、つまり動的なタイムスタンプ ベースのキーを含む静的なルート キー (この例では「毎日」) に焦点を当てます。 解決策には、柔軟な逆シリアル化のための辞書の使用が含まれます。

これが堅牢なアプローチです:

  1. 柔軟性のために辞書を活用する: 厳密なクラス構造を作成する代わりに、Dictionary<string, object> を使用して動的キーに対応します。これにより、実行時に不明なキーをシームレスに処理できます。

  2. JavaScriptSerializer で逆シリアル化: JavaScriptSerializer クラスを利用して、JSON 文字列を解析して辞書に入れます。 以下のコードはこれを示しています:

    <code class="language-csharp"> var deserializer = new JavaScriptSerializer();
     var dictionary = deserializer.Deserialize<Dictionary<string, object>>(json);</code>
  3. ネストされた辞書にアクセスします: 動的キーは、「daily」キーの下にネストされています。

    を使用して、このネストされた辞書を抽出します。
    <code class="language-csharp"> var dailyData = dictionary["daily"] as Dictionary<string, object>;</code>
  4. データの反復とアクセス: 最後に、dailyData ディクショナリを反復処理して、動的タイムスタンプとそれに関連付けられた値にアクセスします:

    <code class="language-csharp"> foreach (var kvp in dailyData)
     {
         string timestamp = kvp.Key;
         object value = kvp.Value;
         Console.WriteLine($"{timestamp}: {value}");
     }</code>

このメソッドは、動的キーを使用して JSON を処理する柔軟かつ効率的な方法を提供し、キー構造に関する事前の知識を必要とせずに、基になるデータに簡単にアクセスできるようにします。

以上が辞書を使用して C# で動的キーを含む JSON を逆シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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