C# での動的キーの JSON 逆シリアル化の処理
JSON データを処理するときに、動的キーが発生すると、逆シリアル化の問題が発生する可能性があります。次の JSON 文字列を考えてみましょう:
<code class="language-json">{ "daily": { "1337990400000": 443447, "1338076800000": 444693, "1338163200000": 452282, "1338249600000": 462189, "1338336000000": 466626 } }</code>
この文字列では、「daily」キーは静的ですが、基礎となるキーは動的であり、逆シリアル化時に予測できません。この問題を解決するには、動的オブジェクトの力を利用できます。
JavaScriptSerializer
クラスを使用すると、以下に示すような動的オブジェクトを作成できます。
<code class="language-csharp">dynamic deser = new JavaScriptSerializer().Deserialize<dynamic>(val);</code>
が作成されます。毎日のデータにアクセスするには、次のステートメントを使用できます: deser
<code class="language-csharp">dynamic justDaily = deser["daily"];</code>
オブジェクトは日次データを表し、その動的キーにアクセスできるようになりました。キーとその値を反復するには、次のコードを使用できます: justDaily
<code class="language-csharp">foreach (string key in justDaily.Keys) Console.WriteLine(key + ": " + justDaily[key]);</code>
以上がC# で動的キーを使用して JSON を逆シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。