Heim > Backend-Entwicklung > C++ > Wie kann ich Enums mit JavaScriptSerializer als Zeichenfolgen serialisieren?

Wie kann ich Enums mit JavaScriptSerializer als Zeichenfolgen serialisieren?

Susan Sarandon
Freigeben: 2025-01-29 09:36:11
Original
468 Leute haben es durchsucht

How Can I Serialize Enums as Strings Using JavaScriptSerializer?

JavaScriptSerializer verwenden, um die aufzählige String -Serialisierung

zu verarbeiten

Bei Verwendung von javaScriptSerializer -serialisierten Objekten, die Aufzählungsattribute enthalten, treten die JSON -Ergebnisse häufig auf Probleme auf, die einen ganzzahligen Wert anstelle einer aufzähligen String -Darstellung enthalten.

Betrachten Sie eine Beispielklasse mit Aufzählungsattributen:

<code class="language-csharp">public class Person
{
    public int Age { get; set; }
    public Gender Gender { get; set; }
}</code>
Nach dem Login kopieren
Das erwartete JSON -Ergebnis:

<:> Frage:
<code class="language-json">{ 
    "Age": 35, 
    "Gender": "Male" 
}</code>
Nach dem Login kopieren

Verwenden von JavaScriptSerializer wird das Geschlechtsattribut auf einen ganzzahligen Wert wie "Geschlecht": 0 anstelle von "Geschlecht": "männlich" serialisiert.

Lösung:

Verwenden Sie Newtonsoft.json newtonsoft.json bietet eine Lösung für die Verwendung des

-attributs:

Der globale Konfigurationswandler [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>
Nach dem Login kopieren
Gerätekategorie:

add

Attribute zum Auftrieb selbst hinzufügen und serialisieren/Gegen -serialisierung aller Instanzen in die Zeichenfolge.
  • jsonserializer: Fügen Sie den Konverter zum Serializer hinzu, so dass alle Aufzählungen während des Serialisierungsprozesses verarbeitet werden. [JsonConverter] JsonConverr -Klasse:
  • Serialisieren Sie den Transformator, um die Aufzählung des spezifischen Objekts zu steuern.
  • Andere Konfiguration:
  • Der Konstruktor ermöglicht die Steuerung von Steuerung und Werten.

Das obige ist der detaillierte Inhalt vonWie kann ich Enums mit JavaScriptSerializer als Zeichenfolgen serialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage