Maison >développement back-end >C++ >Comment puis-je désérialiser un objet JSON avec des ID numériques sous forme de touches dans un objet C # fortement tapé?
a converti l'objet JSON avec ID comme nom en un type fort C # objet
Lorsque l'objet JSON avec une clé d'ID numérique est sérialisé dans un objet de type C # fort, il rencontrera des défis. Considérez la réponse JSON suivante:
Afin de créer un objet de type fort, vous avez défini les classes de "PollsandSurveySstatistics", "atmenstatistics" et "SessionPerformancestats". Cependant, le problème est la structure supérieure de votre objet C # "webinarperformancestats".
<code>{ "5234592":{ "pollsAndSurveys":{ ... }, "attendance":{ ... } }, "5235291":{ "pollsAndSurveys":{ ... }, "attendance":{ ... } } }</code>
Afin de résoudre ce problème, veuillez convertir l'objet racine en C # en dictionnaire:
Cette méthode permet à JSON.net de séquencer l'objet JSON dans un dictionnaire, où le numéro d'identification est utilisé comme clé. Afin d'assurer le type de traitement correct, vous pouvez affiner la déclaration comme suit:
<code class="language-csharp">var dictionary = JsonConvert.DeserializeObject<Dictionary<long, SessionPerformanceStats>>(theJsonResponse);</code>
Cette modification garantit que la clé ID est expliquée comme un entier long. En utilisant le dictionnaire comme objet racine, vous pouvez utiliser la touche ID pour accéder aux statistiques de performance de session.
<code class="language-csharp">var dictionary = JsonConvert.DeserializeObject<Dictionary<long, SessionPerformanceStats>>(theJsonResponse);</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!