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

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

Barbara Streisand
Libérer: 2025-01-29 09:31:08
original
904 Les gens l'ont consulté

How to Serialize Enums as Strings Using JavaScriptSerializer?

JavascriptSerializer la méthode de sérialisation de chaîne énumérée Explication détaillée

Lorsque vous utilisez JavascriptSerializer sérialiser un objet contenant des attributs d'énumération, le résultat JSON peut contenir une valeur entière au lieu de la représentation de la chaîne. Afin de résoudre ce problème, vous pouvez considérer les méthodes suivantes:

Convertisseur basé sur l'attribut

Utilisez les attributs pour décorer l'attribut de définition ou d'objet et spécifiez le type

. Cela indiquera que le programme de sérialisation convertit la valeur d'énumération en une chaîne: [JsonConverter] StringEnumConverter

convertisseur jsonserializer
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

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

ou, ajouter directement <或者> à

:

StringEnumConverter JsonSerializer Configuration globale <全>

Vous pouvez également configurer le convertisseur dans une configuration globale dans l'énumération ou
serializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
Copier après la connexion

<枚> Énumération: JsonConverter

  • JSONConveter:

      [JsonConverter(typeof(StringEnumConverter))]
      public enum Gender { Male, Female }
    Copier après la connexion
  • Autres options <<> <小> lialingcase:

    Utilisez la fonction de construction
      JsonConvert.SerializeObject(MyObject, new Newtonsoft.Json.Converters.StringEnumConverter());
    Copier après la connexion
    pour contrôler la chaîne de la chaîne et s'il faut accepter le numéro. Personnalisation de l'attribut:

    Vous pouvez utiliser les attributs

    et utiliser
      pour décorer le convertisseur.

    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