Как преобразовать JSON в datatable в C#
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://xml.flightview.com/fvDemoConsOOOI/fvxml.exe?a=fvxmldemoSoo1&b=thrk$xxxx&depap=xxx&depdate=xxxxxx&dephr=xxxx"); httpWebRequest.Method = WebRequestMethods.Http.Get; httpWebRequest.Accept = "application/json; charset=utf-8"; string file; var response = (HttpWebResponse)httpWebRequest.GetResponse(); using (var sr = new StreamReader(response.GetResponseStream())) { file = sr.ReadToEnd(); } //var json = JObject.Parse(file); var table = JsonConvert.DeserializeAnonymousType(file, new { Makes = default(DataTable) }).Makes; if (table.Rows.Count > 0) { //do something }
Что я уже пробовал:
Я пытаюсь сделать этот код, но получаю исключение -
Исключение типа "Newtonsoft.Json.JsonReaderException" произошло в Newtonsoft.Json.dll но не был обработан в пользовательском коде
Дополнительная информация: неожиданный символ, встреченный при разборе значения: <. Путь ", строка 0, позиция 0.
так любезно пожалуйста помогите мне срочно
F-ES Sitecore
Из ваших других вопросов по этому вопросу похоже, что ваш веб-метод возвращает не json, а либо html, либо xml. Это объясняет, почему первый элемент в ваших данных - "<", а не "[" Или " { " , как можно было бы ожидать с помощью json.
Если ваш веб-метод возвращает xml, то используйте xml-десериализатор.
Graeme_Grant
Вы пробовали установить точку останова на этой линии?
var json = JObject.Parse(file);
Теперь посмотрим на содержимое переменной
file
в окне местных жителей ... это называется "отладка".