save api payload as json documents

Viewed 199

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"}
]
0 Answers
Related