Heim > Backend-Entwicklung > C++ > Wie serialisieren Sie eine .NET Enum als Zeichenfolge in JSON mit JavaScriptSerializer?

Wie serialisieren Sie eine .NET Enum als Zeichenfolge in JSON mit JavaScriptSerializer?

DDD
Freigeben: 2025-01-29 09:21:14
Original
277 Leute haben es durchsucht

How to Serialize a .NET Enum as a String in JSON using JavaScriptSerializer?

serialisieren .NET Enums als Zeichenfolgen in JSON mit JavaScriptSerializer

Der Standard .NET JavaScriptSerializer gibt häufig Enum als ihre Ganzzahlwerte innerhalb von JSON aus. Um sie als Zeichenfolgen zu serialisieren, die ihre Namen darstellen, gibt es verschiedene Methoden.

Methode 1: Nutzung von JSON.NET StringEnumConverter

Der unkomplizierteste und empfohlenste Ansatz verwendet JSON.NETs leistungsstarke StringEnumConverter. Dieser Konverter kann entweder auf der Enum -Definitionsebene oder auf der Eigenschaftsebene angewendet werden:

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public enum Gender { Male, Female }

public class Person
{
    public int Age { get; set; }
    [JsonConverter(typeof(StringEnumConverter))] // Or apply at property level
    public Gender Gender { get; set; }
}
Nach dem Login kopieren

Dies stellt sicher Gender

Methode 2: Globale Konfigurationsoptionen

Konfigurieren Sie für eine breitere Anwendung die

global:

StringEnumConverter

  • Auf der Enum -Ebene:

    Anwenden Sie den Konverter auf die Enum -Definition selbst für die konsistente String -Serialisierung über alle Verwendungen dieses Enums:

      [JsonConverter(typeof(StringEnumConverter))]
      public enum Gender { Male, Female }
    Nach dem Login kopieren
  • mit

    : Fügen Sie den Konverter einer bestimmten JsonSerializer -Schichtungsinstanz hinzu, um nur die durch diese Instanz serialisierten Enums zu beeinflussen: JsonSerializer

      var serializer = new JsonSerializer();
      serializer.Converters.Add(new StringEnumConverter());
      // ... use serializer to serialize your objects ...
    Nach dem Login kopieren
  • mit

    : wenden Sie den Konverter während der Serialisierung direkt an: JsonConvert

      string json = JsonConvert.SerializeObject(myObject, new StringEnumConverter());
    Nach dem Login kopieren
    Anpassung von

    StringEnumConverter Der Konstruktor

    bietet eine weitere Anpassung an, sodass die Kontrolle über die Benennung von Konventionen und Zahlenbehandlung ermöglicht wird. Weitere Optionen finden Sie in der Dokumentation von JSON.NET.

    . StringEnumConverter

    Das obige ist der detaillierte Inhalt vonWie serialisieren Sie eine .NET Enum als Zeichenfolge in JSON mit JavaScriptSerializer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage