json.net utilise le constructeur par défaut pour utiliser le constructeur par défaut lorsque l'objet dérivé est. Cependant, si vous avez une classe avec un constructeur par défaut et un constructeur non-default, vous pouvez rencontrer des problèmes lorsque vous essayez d'utiliser des fonctions de constructeur non default pour référence.
Utiliser [JSONConstructor] Fonctionnalités:
Pour indiquer que JSON.net utilise un constructeur non-default, vous pouvez ajouter la fonction [JSONConstructor]. Cette caractéristique doit être placée sur un constructeur pour être utilisée pour la profondericularisation.
Exemple:
Assurez-vous que le nom du paramètre du constructeur correspond au nom d'attribut JSON correspondant (ignorez le minuscule).
JSONConveter:<code class="language-csharp">[JsonConstructor] public Result(int? code, string format, Dictionary<string, string> details = null) { // 构造函数逻辑 }</code>
Si vous ne pouvez pas modifier la classe ou que vous ne souhaitez pas utiliser les caractéristiques, vous pouvez créer un JSONConverrer personnalisé pour traiter manuellement la dérivée.
Exemple:
Enfin, ajoutez le convertisseur aux paramètres du programme de sérialisation avant la profondeur:
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!