I am using Newtonsoft’s Json
when i serialze a date time property i get the json response as:
..."CreatedOn":"/Date(1317303882420+0500)/",...
i want it to be in simple string as
..."createdOn": "2011-05-05 14:03:07", ...
while my class property is DateTime, how can i force to serialze it as string, as we can add attribute to change the property name as
[JsonProperty("id")]
public int ProductID { get; set; }
is there a similar way to force a DateTime property to serialize to string??
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
From a post made by James Newton-King on StackOverflow, it looks like you can do this.
string isoJson = JsonConvert.SerializeObject(this, new IsoDateTimeConverter());
// {"Details":"Application started.","LogDate":"2009-02-15T00:00:00Z"}
Referenced answer:
Parsing JSON DateTime from Newtonsoft’s JSON Serializer
Also here is the documentation on Json.NET and dates:
Serializing Dates in JSON
Here is an example of using the DateTimeFormat property to customize the output:
return JsonConvert.SerializeObject(this, Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0