ホームページ > バックエンド開発 > C++ > KeysとしてIDを使用して、JSONから強く型付けられたC#オブジェクトを作成する方法は?

KeysとしてIDを使用して、JSONから強く型付けられたC#オブジェクトを作成する方法は?

DDD
リリース: 2025-01-30 00:24:11
オリジナル
1019 人が閲覧しました

How to Create Strongly Typed C# Objects from JSON with IDs as Keys?

IDを名前として使用して、JSON JSONオブジェクトのようなAPI応答に遭遇すると、ID番号はデータの識別子として使用され、それらに対処するために強力なタイプC#オブジェクトを作成することは困難な場合があります。この問題を解決しましょう。 次のJSON応答を検討してください:

強力なタイプオブジェクトを作成するために、次のことを定義します。

ただし、質問に直面しています。JSONのルートオブジェクトは、予想される

タイプと一致しません。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

{

    "5234592":{

        "pollsAndSurveys":{

            "questionsAsked":1,

            ...

            "pollCount":2},

        "attendance":{

            "averageAttendanceTimeSeconds":253,

            ...

            "percentageAttendance":100}

        },

    "5235291":{

        "pollsAndSurveys":{

            "questionsAsked":2,

            ...

            "pollCount":0},

        "attendance":{

            "averageAttendanceTimeSeconds":83,

            ...

            "percentageAttendance":100}

        }

}

ログイン後にコピー
この問題を解決するために、辞書をルートオブジェクトとして使用できます。

json.net辞書のシリアル化とデバイスを効果的に処理して、属性名を辞書キーに変換します。この場合、ID番号は辞書キーに実行されます。あなたが喜んでいるなら、あなたはそれらを長い整数として宣言することができます:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

public class AttendanceStatistics

{

    [JsonProperty(PropertyName = "registrantCount")]

    public int RegistrantCount { get; set; }

 

    // 其他属性

}

 

public class PollsAndSurveysStatistics

{

    [JsonProperty(PropertyName = "pollCount")]

    public int PollCount { get; set; }

 

    // 其他属性

}

 

public class SessionPerformanceStats

{

    [JsonProperty(PropertyName = "attendance")]

    public AttendanceStatistics Attendance { get; set; }

 

    [JsonProperty(PropertyName = "pollsAndSurveys")]

    public PollsAndSurveysStatistics PollsAndSurveys { get; set; }

}

 

public class WebinarPerformanceStats

{

    public List<SessionPerformanceStats> Stats { get; set; }

}

ログイン後にコピー

WebinarPerformanceStatsこの方法により、JSON応答を後方への

または

に変換できるようになりました。ここで、ID番号は単一のセッション統計にアクセスするためのキーとして使用されます。

以上がKeysとしてIDを使用して、JSONから強く型付けられたC#オブジェクトを作成する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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