c# - deserialize json string for multiple results -
i using json.net when go deserialize following json json cannot deserialize type list.
json:
{"postalcodes":[{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10001","countrycode":"us","lng":-73.996705,"placename":"new york city","lat":40.74838,"adminname1":"new york"},{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10019","countrycode":"us","lng":-73.985834,"placename":"new york city","lat":40.765069,"adminname1":"new york"},{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10021","countrycode":"us","lng":-73.958805,"placename":"new york city","lat":40.768476,"adminname1":"new york"},{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10022","countrycode":"us","lng":-73.965703,"placename":"new york city","lat":40.757091,"adminname1":"new york"},{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10036","countrycode":"us","lng":-73.991826,"placename":"new york city","lat":40.759724,"adminname1":"new york"},{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10065","countrycode":"us","lng":-73.96379,"placename":"new york city","lat":40.76507,"adminname1":"new york"},{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10003","countrycode":"us","lng":-73.989223,"placename":"new york city","lat":40.731253,"adminname1":"new york"},{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10010","countrycode":"us","lng":-73.981328,"placename":"new york city","lat":40.737476,"adminname1":"new york"},{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10011","countrycode":"us","lng":-73.99963,"placename":"new york city","lat":40.740225,"adminname1":"new york"},{"adminname2":"new york","admincode2":"061","admincode1":"ny","postalcode":"10012","countrycode":"us","lng":-73.998284,"placename":"new york city","lat":40.72553,"adminname1":"new york"}]}
code:
string jsonresponse = string.empty; using (streamreader sr = new streamreader(client.openread(address.absoluteuri))) { jsonresponse = sr.readline(); } var observation = jsonconvert.deserializeobject<list<postalcodes>>(jsonresponse); return observation;
postalcodes class:
public class postalcodes { public string adminname2 { get; set; } public int admincode2 { get; set; } public string admincode1 {get; set; } public int postalcode { get; set; } public string countrycode { get; set; } public double longitude { get; set; } public string placename { get; set; } public double latitude { get; set; } public string adminname1 { get; set; } }
please try this:
public class postalcodes { public string adminname2 { get; set; } public int admincode2 { get; set; } public string admincode1 { get; set; } public int postalcode { get; set; } public string countrycode { get; set; } public double lng { get; set; } public string placename { get; set; } public double lat { get; set; } public string adminname1 { get; set; } } public class datacontainer { public list<postalcodes> postalcodes { get; set; } } [test] public void testjson() { string input = "{\"postalcodes\":[{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10001\",\"countrycode\":\"us\",\"lng\":-73.996705,\"placename\":\"new york city\",\"lat\":40.74838,\"adminname1\":\"new york\"},{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10019\",\"countrycode\":\"us\",\"lng\":-73.985834,\"placename\":\"new york city\",\"lat\":40.765069,\"adminname1\":\"new york\"},{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10021\",\"countrycode\":\"us\",\"lng\":-73.958805,\"placename\":\"new york city\",\"lat\":40.768476,\"adminname1\":\"new york\"},{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10022\",\"countrycode\":\"us\",\"lng\":-73.965703,\"placename\":\"new york city\",\"lat\":40.757091,\"adminname1\":\"new york\"},{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10036\",\"countrycode\":\"us\",\"lng\":-73.991826,\"placename\":\"new york city\",\"lat\":40.759724,\"adminname1\":\"new york\"},{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10065\",\"countrycode\":\"us\",\"lng\":-73.96379,\"placename\":\"new york city\",\"lat\":40.76507,\"adminname1\":\"new york\"},{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10003\",\"countrycode\":\"us\",\"lng\":-73.989223,\"placename\":\"new york city\",\"lat\":40.731253,\"adminname1\":\"new york\"},{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10010\",\"countrycode\":\"us\",\"lng\":-73.981328,\"placename\":\"new york city\",\"lat\":40.737476,\"adminname1\":\"new york\"},{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10011\",\"countrycode\":\"us\",\"lng\":-73.99963,\"placename\":\"new york city\",\"lat\":40.740225,\"adminname1\":\"new york\"},{\"adminname2\":\"new york\",\"admincode2\":\"061\",\"admincode1\":\"ny\",\"postalcode\":\"10012\",\"countrycode\":\"us\",\"lng\":-73.998284,\"placename\":\"new york city\",\"lat\":40.72553,\"adminname1\":\"new york\"}]}"; var observation = jsonconvert.deserializeobject<datacontainer>(input); }
Comments
Post a Comment