Ich habe folgende EnumWie Aufzählungen unterschiedliche Eigenschaftsnamen zur Serialisierung json.net mit
public enum PermissionType
{
[JsonProperty(PropertyName = "can_fly")]
PermissionToFly,
[JsonProperty(PropertyName = "can_swim")]
PermissionToSwim
};
und eine Klasse mit dieser Eigenschaft
[JsonProperty(PropertyName = "permissions", ItemConverterType = typeof(StringEnumConverter))]
public IList<PermissionType> PermissionKeynames { get; set; }`
ich die Liste der Aufzählungen ein serialisieren möge Liste der Zeichenfolgen und diese Serialisierungsliste verwenden die Zeichenfolge, die in PropertyName
(wie "can_swim") anstelle des tatsächlichen Namens der Eigenschaft "PermissionToSwim" angegeben wird. Jedes Mal, wenn ich JsonConvert.SerializeObject nennen, ich am Ende mit
"permission_keynames":["PermissionToFly","PermissionToSwim"]
statt meinem
gewünschten"permission_keynames":["can_fly","can_swim"]
Ich mag für den Einsatz in meinem Code die Phrase „PermissionToSwim“ halten, serialisiert 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.
Falls jemand in der Zukunft das umgekehrte Problem hat (Deserialisierung zu einer Enumeration mit anders benannten Werten), lesen Sie [diese Frage] (http://stackoverflow.com/questions/7799769/parsing-an-enumeration) -in-json-net). – pghprogrammer4