J'utilise Json de Newtonsoft lorsque je sérialise une propriété date-heure, je reçois la réponse json comme:
..."CreatedOn":"\/Date(1317303882420+0500)\/",...
je veux que ce soit dans une chaîne simple comme
..."createdOn": "2011-05-05 14:03:07", ...
alors que ma propriété de classe est DateTime, comment puis-je la forcer à la sérialiser en tant que chaîne, car nous pouvons ajouter un attribut pour changer le nom de la propriété comme
[JsonProperty("id")]
public int ProductID { get; set; }
existe-t-il un moyen similaire de forcer une propriété DateTime à sérialiser en chaîne ??
D'après un article de James Newton-King sur StackOverflow, il semble que vous puissiez le faire.
string isoJson = JsonConvert.SerializeObject(this, new IsoDateTimeConverter());
// {"Details":"Application started.","LogDate":"2009-02-15T00:00:00Z"}
Réponse référencée: Parsing JSON DateTime from Newtonsoft's JSON Serializer
Voici également la documentation sur Json.NET et les dates: Sérialisation des dates dans JSON
Voici un exemple d'utilisation de la propriété DateTimeFormat
pour personnaliser la sortie:
return JsonConvert.SerializeObject(this, Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });