辞書を使用した C# での動的 JSON キーの処理
JSON データは、予測不可能なキーを扱う際に課題を引き起こすことがよくあります。 この記事では、一般的なシナリオ、つまり動的なタイムスタンプ ベースのキーを含む静的なルート キー (この例では「毎日」) に焦点を当てます。 解決策には、柔軟な逆シリアル化のための辞書の使用が含まれます。
これが堅牢なアプローチです:
柔軟性のために辞書を活用する: 厳密なクラス構造を作成する代わりに、Dictionary<string, object>
を使用して動的キーに対応します。これにより、実行時に不明なキーをシームレスに処理できます。
JavaScriptSerializer
で逆シリアル化: JavaScriptSerializer
クラスを利用して、JSON 文字列を解析して辞書に入れます。 以下のコードはこれを示しています:
<code class="language-csharp"> var deserializer = new JavaScriptSerializer(); var dictionary = deserializer.Deserialize<Dictionary<string, object>>(json);</code>
ネストされた辞書にアクセスします: 動的キーは、「daily」キーの下にネストされています。
を使用して、このネストされた辞書を抽出します。<code class="language-csharp"> var dailyData = dictionary["daily"] as Dictionary<string, object>;</code>
データの反復とアクセス: 最後に、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 サイトの他の関連記事を参照してください。