Maison > développement back-end > C++ > Comment désérialiser JSON en objets C # sans constructeur par défaut?

Comment désérialiser JSON en objets C # sans constructeur par défaut?

Linda Hamilton
Libérer: 2025-01-29 16:26:10
original
607 Les gens l'ont consulté

How to Deserialize JSON into C# Objects Without a Default Constructor?

C # JSON Revitalisation: contourner la fonction de structure par défaut

Lorsque vous utilisez JSON.net pour séquencer les données JSON dans des objets C #, il préfère généralement utiliser le constructeur par défaut. Cependant, si un constructeur non-default est requis, vous pouvez utiliser l'attribut

.

[JsonConstructor] Utiliser

attribut

[JsonConstructor] En ajoutant des attributs au constructeur non-default, json.net l'utilisera pour sérialiser. Le paramètre de fonction constructif doit correspondre au nom de l'attribut JSON, et le cas n'est pas distingué. Les attributs que les paramètres de fonction constructifs ne sont pas couverts peuvent toujours être remplis par un intervieweur public ou et d'autres attributs.

[JsonConstructor] Exemple: [JsonProperty]

jsonconveter [JsonConstructor]

Si vous ne pouvez pas modifier directement le code ou ajouter des attributs, vous pouvez créer une personnalité
<code class="language-csharp">[JsonConstructor]
public Result(int? code, string format, Dictionary<string, string> details = null)
{
    ...
}</code>
Copier après la connexion
:

Ensuite, ajoutez le convertisseur aux paramètres du programme de sérialisation JSON et utilisez-le pendant la période de dépendance:

JsonConverter En utilisant ces technologies, même s'il existe un constructeur par défaut, vous pouvez également transformer les données JSON en l'objet sans compter sur le constructeur par défaut.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal