Do not convert JToken date time string as DateTime
Use DateParseHandling
to override JSON.NET's automatic attempts to DateTimeify anything that looks DateTimey.
void Main()
{
var s = "{ \"value\" : \"2015-11-23T00:00:00\" }";
using (var sr = new StringReader(s))
using (var jr = new JsonTextReader(sr) { DateParseHandling = DateParseHandling.None })
{
var j = JToken.ReadFrom(jr);
Console.WriteLine(j["value"].ToString()); // prints '2015-11-23T00:00:00'
}
}
You can describe the class with this member declared as 'string' and use it in serialization, so that it is is stored in the original representation:
public class MyObject
{
public string date { get; set ; }
}
string json = "{ \"date\": \"2015-11-23T00:00:00\" }";
var myObj = JsonConvert.DeserializeObject<MyObject>(json);
Console.WriteLine(myObj.date);