Hi all,
I have a JSON file, trying to deserialize it using JSON.Net.
I noticed when trying to import certain part is working very well, but other is not, only showing when debugging number of rows(when converting to DataTable) but the table itself is empty.
Here is the code to Deserialize:
string url = "http://abc.ca/compat.json?vehicleid=741&modelid=123&makeid=8";
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.Method = WebRequestMethods.Http.Get;
httpWebRequest.Accept = "application/json; charset=utf-8";
string JSONfile;
var response = (HttpWebResponse)httpWebRequest.GetResponse();
using (var sr = new StreamReader(response.GetResponseStream()))
{ JSONfile = sr.ReadToEnd(); }
var infoTB = JsonConvert.DeserializeAnonymousType(JSONfile, new { product = default(DataTable) }).product;
Here is how Product in JSON file looks like:
"product": [{
"productid": 411,
"partnumber": "P-ONE",
"price": ""
-------
}, {
"productid": 160,
"partnumber": "P-Two",
"price": "99.99"
-------
}],
When trying to apply the same on another part of the file it gives me empty datatable
Here's how it looks like:
"recommend": [true, false],
"notes": [],
"notesV2": [false, false],
"benefits": [
[{
"featureid": 271,
"title_en": "en title",
"title_fr": "fr title",
"name_en": "name en",
"name_fr": "name fr",
"url_en": "url1",
"url_fr": "url2"
}, {
"featureid": 251,
"title_en": "en title",
"title_fr": "fr title",
"name_en": "name en",
"name_fr": "name fr",
"url_en": "url1",
"url_fr": "url2"
}],
[{
"featureid": 171,
"title_en": "en title",
"title_fr": "fr title",
"name_en": "name en",
"name_fr": "name fr",
"url_en": "url1",
"url_fr": "url2"
}, {
"featureid": 271,
"title_en": "en title",
"title_fr": "fr title",
"name_en": "name en",
"name_fr": "name fr",
"url_en": "url1",
"url_fr": "url2"
}]
],
I'm trying to read "benefits" but it counts the rows without data.
Please advise why it creates empty datatable in the second one
Thanks,
Samira