Mi pregunta es simple, pero un poco más específica que otras preguntas relacionadas con la serialización de tipos enumerados como cadenas.
Considere la siguiente pieza de código:
using Newtonsoft.Json; using Newtonsoft.Json.Converters; public enum MyEnum { TypeOne, TypeTwo, TypeThree } public class Foo { [JsonConverter(typeof(StringEnumConverter))] public MyEnum Types { get; set; } }Cuando el controlador Web API envía objetos Foo serializados, pueden verse así:
{ "Type" : "TypeTwo" }Mi pregunta: ¿es posible enviar enumeraciones serializadas como cadenas con espacios antes de cada letra mayúscula? Tal solución produciría JSON como este:
{ "Type" : "Type Two" }Quiero saber si hay alguna información adicional necesaria para resolver mi problema. ¡Gracias!
EDITAR:
Es preferible que las enumeraciones solo se conviertan en cadenas con espacios al serializarlas en JSON . Me gustaría excluir espacios al usar MyEnum.ToString() en el backend.
Intente agregar EnumMember como se muestra a continuación,
[JsonConverter(typeof(StringEnumConverter))] public enum MyEnum { [EnumMember(Value = "Type One")] TypeOne, [EnumMember(Value = "Type Two")] TypeTwo, [EnumMember(Value = "Type Three")] TypeThree }Es posible que deba instalar un paquete llamado System.Runtime.Serialization.Primitives de Microsoft para usarlo.