Voglio deserializzare le enumerazioni alla loro rappresentazione di stringa e viceversa con json.net. L'unico modo che ho potuto capire a dire il quadro di applicare la propria StringEnumConverter
è quello di annotare le proprietà in questione in questo modo:Come dire a Json.Net a livello globale di applicare StringEnumConverter a tutte le enumerazioni
[JsonConverter(typeof(StringEnumConverter))]
public virtual MyEnums MyEnum { get; set; }
Tuttavia, nel mio caso d'uso, sarebbe molto più conveniente per configurare json.net globalmente tale che tutte le enumerazioni vengano (de) serializzate usando StringEnumConverter
, senza bisogno di ulteriori annotazioni.
C'è un modo per farlo, ad es. con l'aiuto di custom JsonSerializerSettings
?
Ho provato a impostarlo sul mio global.asax.cs in 'GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings' ma non ha funzionato. Qualche idea sul perché potrebbe essere? – amhed
Esiste un modo per scrivere in minuscolo il nome del campo? Il flag CamelCaseText è hard-coded nella classe e non vedo un modo per utilizzare una diversa strategia di alloggiamento. – mikebridge
@mikebridge Hai trovato una soluzione a questo? Sto anche cercando un modo per impostare il nome per ciascuna opzione enum (o usare le lettere minuscole). – Timm