I am using both NewtonSoft and JavaScriptSerializer as we have a vendor specific applications that do not support third-party libraries.
JavaScriptSerializer:
string json = string.Empty;
string cities;
cities = getCities(); //json payload
JavaScriptSerializer oJS = new JavaScriptSerializer
City[] Cities = oJS.Deserialize<City[]>(cities); //deserialize and then serialize to save json document
json = oJS.Serialize(Cities);
using (StreamWriter sw = new StreamWriter(File.Create(@"C:\temp\cities.json")))
{
sw.Write(json);
}
cities.json file has data in expected format except for DateTime fields "DateTime":"\/Date(1587782956807)\/".
json file:
[
{"DateTime":"\/Date(1587782790077)\/"},
{"DateTime":"\/Date(1587782790107)\/"}
]
Expected Results:
[
{"DateTime":"2002-08-17T09:27:07.042"},
{"DateTime":"1978-03-19T06:43:29.013"}
]
But, When NewtonSoft library is used results are saved differently.
NewtonSoft:
string json = string.Empty;
string cities;
cities = getCities(); //json payload
json = JsonConvert.SerializeObject(cities);
using (StreamWriter sw = new StreamWriter(File.Create(@"C:\temp\cities.json")))
{
sw.Write(json);
}
cities.json
[
{\"id\":2643743,
\"name\":"London"},
{\"id\":2643744,
\"name\":"Manchester"}
]
Expected Results:
[
{"id":2643743,
"name":"London"},
{"id":2643744,
"name":"Manchester"}
]