asp.net - newtonsoft - ¿Cómo forzar al serializador netwtonsoft json a serializar la propiedad datetime a la cadena?
jsonproperty date format (1)
Estoy usando Newtonsoft''s Json cuando serializo una propiedad de fecha y hora obtengo la respuesta json como:
..."CreatedOn":"//Date(1317303882420+0500)//",...
quiero que esté en una cadena simple como
..."createdOn": "2011-05-05 14:03:07", ...
mientras que mi propiedad de clase es DateTime, ¿cómo puedo obligar a serializarlo como una cadena, ya que podemos agregar un atributo para cambiar el nombre de la propiedad como
[JsonProperty("id")]
public int ProductID { get; set; }
¿Hay alguna manera similar de forzar una propiedad DateTime para serializar a la cadena?
De una publicación hecha por James Newton-King en , parece que puedes hacer esto.
string isoJson = JsonConvert.SerializeObject(this, new IsoDateTimeConverter());
// {"Details":"Application started.","LogDate":"2009-02-15T00:00:00Z"}
Respuesta a la que se hace referencia: Análisis JSON DateTime del serializador JSON de Newtonsoft
También aquí está la documentación en Json.NET y fechas: Fechas de serialización en JSON
Aquí hay un ejemplo del uso de la propiedad DateTimeFormat
para personalizar el resultado:
return JsonConvert.SerializeObject(this, Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });