強力なタイプオブジェクトを作成するために、次のことを定義します。
ただし、質問に直面しています。JSONのルートオブジェクトは、予想される
タイプと一致しません。<code class="language-json">{ "5234592":{ "pollsAndSurveys":{ "questionsAsked":1, ... "pollCount":2}, "attendance":{ "averageAttendanceTimeSeconds":253, ... "percentageAttendance":100} }, "5235291":{ "pollsAndSurveys":{ "questionsAsked":2, ... "pollCount":0}, "attendance":{ "averageAttendanceTimeSeconds":83, ... "percentageAttendance":100} } }</code>この問題を解決するために、辞書をルートオブジェクトとして使用できます。
json.net辞書のシリアル化とデバイスを効果的に処理して、属性名を辞書キーに変換します。この場合、ID番号は辞書キーに実行されます。あなたが喜んでいるなら、あなたはそれらを長い整数として宣言することができます:
<code class="language-csharp">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; } }</code>
WebinarPerformanceStats
この方法により、JSON応答を後方への
に変換できるようになりました。ここで、ID番号は単一のセッション統計にアクセスするためのキーとして使用されます。
以上がKeysとしてIDを使用して、JSONから強く型付けられたC#オブジェクトを作成する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。