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

Wie serialisieren Sie Enums als Zeichenfolgen mit JavaScriptSerializer?

Barbara Streisand
Barbara StreisandOriginal
2025-01-29 09:31:08844Durchsuche

How to Serialize Enums as Strings Using JavaScriptSerializer?

JavaScriptSerializer Enzerierte String -Serialisierungsmethode Detaillierte Erläuterung

Bei Verwendung von JavaScriptSerializer serialisieren ein Objekt mit Aufzählungsattributen kann das JSON -Ergebnis einen ganzzahligen Wert anstelle der String -Darstellung enthalten. Um dieses Problem zu lösen, können Sie die folgenden Methoden berücksichtigen:

Attribut -basierter Konverter

Verwenden Sie die Attribute , um das Definition oder das Objektattribut zu dekorieren, und geben Sie den Typ

an. Dies zeigt an, dass das Serialisierungsprogramm den Aufzählungswert in eine Zeichenfolge umwandelt: [JsonConverter] StringEnumConverter

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

[JsonConverter(typeof(StringEnumConverter))]
public Gender Gender { get; set; }</code>

oder direkt zu

:

hinzufügen StringEnumConverter JsonSerializer Globale Konfiguration

Sie können den Konverter auch in einer globalen Konfiguration in der Aufzählung oder
<code class="language-csharp">serializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());</code>
konfigurieren

Aufzählung: JsonConverter

  • JsonConveter:

    <code class="language-csharp">  [JsonConverter(typeof(StringEnumConverter))]
      public enum Gender { Male, Female }</code>
  • Andere Optionen lialingcase:

    Verwenden Sie die Konstruktionsfunktion
    <code class="language-csharp">  JsonConvert.SerializeObject(MyObject, new Newtonsoft.Json.Converters.StringEnumConverter());</code>
    , um die Zeichenfolge der Zeichenfolge zu steuern und ob die Nummer akzeptiert werden soll.
Attributanpassung:

Sie können die

und
    -attribute verwenden, um den Konverter zu dekorieren.

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

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