Maison > développement back-end > C++ > Comment sérialiser les énumériques en tant que chaînes à l'aide de JavascriptSerializer et json.net?

Comment sérialiser les énumériques en tant que chaînes à l'aide de JavascriptSerializer et json.net?

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

How to Serialize Enums as Strings Using JavaScriptSerializer and Json.NET?

JavascriptSerializer et JSON.net énumération sérialisée en chaîne

Lorsque vous utilisez les objets sérialisés JavascripTSerializer qui contiennent des attributs d'énumération, le comportement par défaut est une valeur entière de sortie une valeur énumérée au lieu de sa représentation de chaîne. Cet article traite de la méthode de personnalisation de ce comportement et d'obtention de la chaîne d'énumération dans la sortie JSON.

Solution utilisant JSON.net

JSON.net fournit des solutions plus pratiques via ses attributs JSONConverter et ses types de convertisseurs strigués. En appliquant l'attribut aux attributs d'énumération connexes:

... Vous pouvez spécifier l'énumération pour sérialiser en tant que chaîne. Pour plus d'informations sur StornenumConverter, consultez ses documents.

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public Gender Gender { get; set; }
Copier après la connexion
<选> Autres options

Il existe d'autres méthodes qui peuvent configurer ce convertisseur global:

<枚> Définition épolide:

Ajoutez l'attribut à l'ascenseur lui-même pour s'assurer que toutes les instances d'énumération sérialisent en chaîne.

    jsonserializer:
  • y compris les convertisseurs dans jsonserializer:
  • Cette méthode applique le convertisseur à toute l'énumération rencontrée dans le processus de sérialisation.
  • JSONConveter:
Une autre méthode consiste à utiliser la classe JSONConvert:
serializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
Copier après la connexion

    En outre personnalisé
  • StringNenumConverter permet d'autres douanes, telles que le contrôle des minuscules de la chaîne d'énumération et s'il faut accepter la valeur. Cela peut être mis en œuvre via stornenumConverter (namingStrategy, boolean).

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