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.
<code class="language-csharp">using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
[JsonConverter(typeof(StringEnumConverter))]
public Gender Gender { get; set; }</code>
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: <code class="language-csharp">serializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());</code>
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!