Reference Newtonsoft. Json. dll first. Then, see the code:
View Code
Public class JsonConverterStrAndLongToDate: JsonConverter {public override bool CanConvert (Type objectType) {return objectType = typeof (DateTime);} public override object ReadJson (JsonReader reader, Type objectType, object existingValue, jsonSerializer serializer) {if (reader. tokenType = JsonToken. string) {return From1970MilinSeconds (Int64.Parse (string) reader. value);} else if (reader. tokenType = JsonToken. integer) {double s = 5/3; return From1970MilinSeconds (Int64) reader. value);} throw new JsonReaderException (string. format ("Unexcepted token {0}", reader. tokenType);} public override void WriteJson (JsonWriter writer, object value, JsonSerializer serializer) {var longValue = (long) (DateTime) value ). addHours (-8)-new DateTime (1970, 1, 1 )). totalMilliseconds; writer. writeValue (longValue );} /// <summary> /// convert the millisecond value to the datetime type /// </summary> /// <param name = "datetime"> </param> /// <returns> </returns> private DateTime From1970MilinSeconds (long datetime) {datetime * = 10000; var ts = new TimeSpan (datetime); var dt = new DateTime (1970, 1, 1); dt = dt. add (ts); // dt = dt. addHours (8); return Convert. toDateTime (dt. toString ());}}
Finally, during serialization
View Code
return new ContentResult() { Content = JsonConvert.SerializeObject(result), ContentType = "application/json" };
Success!