Serialização json personalizada para cada item em IEnumerable [duplicado]
Esta pergunta já tem uma resposta aqui:
Como você serializa uma matriz enum para uma matriz Json de seqüências de caracteres? [duplicado] 2 respostasEstou usando o Json.NET para serializar um objeto que possui umIEnumerable
de um enum eDateTime
. É algo como:
class Chart
{
// ...
public IEnumerable<int> YAxis { get; set; }
public IEnumerable<State> Data { get; set; }
public IEnumerable<DateTime> XAxis { get; set; }
}
Mas eu preciso de um costumeJsonConverter
para tornar o enum serializado como string e alterar oDateTime
formato de string.
Eu tentei usar oJsonConverter
atributo como mencionadoaqui para enum e um costumeIsoDateTimeConverter
como feitoaqui:
[JsonConverter(typeof(StringEnumConverter))]
public IEnumerable<State> Data { get; set; }
[JsonConverter(typeof(MyDateTimeConverter))]
public IEnumerable<DateTime> XAxis { get; set; }
Eu esperava que funcionasse por umIEnumerable
também, mas sem surpresa, isso não acontece:
Não foi possível converter o objeto do tipo 'WhereSelectArrayIterator`2 [System.Int32, Model.State]' para o tipo 'System.Enum'.
Existe alguma maneira de dizer que oJsonConverterAttribute
aplica-se a cada item e não ao próprio enumerável?