Heim >Backend-Entwicklung >C++ >Wie serialisieren Sie eine .NET Enum als Zeichenfolge in JSON mit 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:
<code class="language-csharp">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; } }</code>
Dies stellt sicher
Gender
Konfigurieren Sie für eine breitere Anwendung die
global:
StringEnumConverter
Anwenden Sie den Konverter auf die Enum -Definition selbst für die konsistente String -Serialisierung über alle Verwendungen dieses Enums:
<code class="language-csharp"> [JsonConverter(typeof(StringEnumConverter))] public enum Gender { Male, Female }</code>
: Fügen Sie den Konverter einer bestimmten JsonSerializer
-Schichtungsinstanz hinzu, um nur die durch diese Instanz serialisierten Enums zu beeinflussen:
JsonSerializer
<code class="language-csharp"> var serializer = new JsonSerializer(); serializer.Converters.Add(new StringEnumConverter()); // ... use serializer to serialize your objects ...</code>
: wenden Sie den Konverter während der Serialisierung direkt an: JsonConvert
<code class="language-csharp"> string json = JsonConvert.SerializeObject(myObject, new StringEnumConverter());</code>
StringEnumConverter
Der Konstruktor
. 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!