Serialización json personalizada para cada elemento en IEnumerable [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Cómo se serializa una matriz enum a una matriz de cadenas Json? [duplicar] 2 respuestasEstoy usando Json.NET para serializar un objeto que tiene unIEnumerable
de una enumeración yDateTime
. Es algo como:
class Chart
{
// ...
public IEnumerable<int> YAxis { get; set; }
public IEnumerable<State> Data { get; set; }
public IEnumerable<DateTime> XAxis { get; set; }
}
Pero necesito una costumbreJsonConverter
hacer que la enumeración se serialice como una cadena y cambiar elDateTime
formato de cadena
He intentado usar elJsonConverter
atributo como se mencionaaquí para enumeración y una costumbreIsoDateTimeConverter
como hechoaquí:
[JsonConverter(typeof(StringEnumConverter))]
public IEnumerable<State> Data { get; set; }
[JsonConverter(typeof(MyDateTimeConverter))]
public IEnumerable<DateTime> XAxis { get; set; }
Esperaba que funcionara para unIEnumerable
también, pero como era de esperar, no lo hace:
No se puede convertir el objeto del tipo 'WhereSelectArrayIterator`2 [System.Int32, Model.State]' para escribir 'System.Enum'.
¿Hay alguna manera de decir que elJsonConverterAttribute
se aplica a cada elemento y no en el enumerable en sí?