Wie Sie Enums unter json.net zu einem anderen Eigenschaftsnamen serialisieren

9

Ich habe die folgende enum

%Vor%

und eine Klasse mit dieser Eigenschaft

%Vor%

Ich möchte die Liste der Enumerationen in eine Liste von Strings serialisieren, und diese Serialisierungsliste verwendet die in PropertyName angegebene Zeichenfolge (z. B. "can_swim") anstelle des tatsächlichen Namens der Eigenschaft "PermissionToSwim". Jedes Mal, wenn ich JsonConvert.SerializeObject aufrufen, endet jedoch mit

%Vor%

statt meiner gewünschten

%Vor%

Ich möchte den Ausdruck "PermissionToSwim" für die Verwendung in meinem Code beibehalten, serialisieren zu einem anderen Wort. Irgendeine Idee, wie ich das erreichen kann? Mein Bauchgefühl sagt, dass die Anmerkung der Schuldige ist, aber ich konnte nicht den richtigen finden.

    
pghprogrammer4 15.10.2014, 20:34
quelle

1 Antwort

14

Sieht aus wie , die Sie erstellen können Dies funktioniert mit dem EnumMember -Attribut (in System.Runtime.Serialization gefunden).

%Vor%

Wenn Sie diese Attribute verwenden, müssen Sie auch nicht ItemConverterType im Attribut JsonProperty in der Liste angeben.

    
Andrew Whitaker 15.10.2014, 20:44
quelle

Tags und Links