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é?

Comment puis-je désérialiser un objet JSON avec des ID numériques sous forme de touches dans un objet C # fortement tapé?

Susan Sarandon
Susan Sarandonoriginal
2025-01-30 00:12:09598parcourir

How Can I Deserialize a JSON Object with Numeric IDs as Keys into a Strongly Typed C# Object?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn