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
Linda Hamiltonoriginal
2025-01-29 16:26:10647parcourir

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>
:

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!

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