serialize newtonsoft jsonproperty how asp.net c#-4.0 json.net

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" });