Maison > développement back-end > C++ > Comment puis-je sérialiser les énumérements sous forme de chaînes à l'aide de JavascriptSerializer?

Comment puis-je sérialiser les énumérements sous forme de chaînes à l'aide de JavascriptSerializer?

Susan Sarandon
Libérer: 2025-01-29 09:36:11
original
468 Les gens l'ont consulté

How Can I Serialize Enums as Strings Using JavaScriptSerializer?

Utilisez JavascriptSerializer pour traiter la sérialisation des chaînes énumérées

Lors de l'utilisation d'objets sérialisés JavascripTSerializer contenant des attributs d'énumération, les résultats JSON rencontrent souvent des problèmes contenant une valeur entière au lieu d'une représentation de chaîne énumérée.

Considérons un exemple de classe contenant des attributs d'énumération:

<code class="language-csharp">public class Person
{
    public int Age { get; set; }
    public Gender Gender { get; set; }
}</code>
Copier après la connexion
Le résultat JSON attendu:

Question:
<code class="language-json">{ 
    "Age": 35, 
    "Gender": "Male" 
}</code>
Copier après la connexion

En utilisant JavascriptSerializer, l'attribut de genre sera sérialisé à une valeur entière, tel que "Gender": 0 au lieu de "Gender": "Male".

Solution:

Utilisez newtonsoft.json newtonsoft.json fournit une solution pour utiliser l'attribut

:

Le convertisseur de configuration global [JsonConverter]

<code class="language-csharp">using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

public class Person
{
    public int Age { get; set; }

    [JsonConverter(typeof(StringEnumConverter))]
    public Gender Gender { get; set; }
}</code>
Copier après la connexion
Catégorie d'équipement:

Ajouter

Attributs à l'ascenseur lui-même, et sérialiser / compteur -sérialisation de toutes les instances en chaîne.
  • jsonserializer: Ajoutez le convertisseur en sérialiseur afin que toutes les énumérations soient traitées pendant le processus de sérialisation. [JsonConverter] Classe JSONConverr:
  • Sérialisez le transformateur pour contrôler l'énumération de l'objet spécifique.
  • Autre configuration:
  • Le constructeur permet le contrôle du contrôle et des valeurs.

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