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

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

Patricia Arquette
リリース: 2025-01-17 10:27:09
オリジナル
560 人が閲覧しました

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

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>
ログイン後にコピー
この逆シリアル化により、JSON プロパティにアクセスできる動的オブジェクト

が作成されます。毎日のデータにアクセスするには、次のステートメントを使用できます: 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>
ログイン後にコピー
これにより、動的キーとそれに対応する値が出力されます。動的オブジェクトを使用すると、動的キーが見つかった場合でも JSON データを効率的に逆シリアル化できます。

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

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