У меня есть следующий код:
string code = client.DownloadString("http://oddsportal.com/feed/prematch/1-1-hSpbs4Cd-1-2.dat");
DataSet data = JsonConvert.DeserializeObject<DataSet>(code.Substring(3, code.Length - 6));
textBox1.Text += "1";
Но он останавливается на второй строке, как если бы был return - он не записывает 1 в текстовое поле. Что я делаю неправильно?
Здесь он переписан со структурой: http://pastebin.com/xZAhjU8w Спасибо.
РЕДАКТИРОВАТЬ: A использовал try-catch, и его исключение:
Newtonsoft.Json.JsonSerializationException: после завершения десериализации объекта в строке JSON обнаружен дополнительный текст. в Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (средство чтения JsonReader, тип objectType, логическое значение checkAdditionalContent) в c: \ Temp \ Json \ Working \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ Serialization \ JsonSerializerInternalReader.cs 17: строка New: .Json.JsonSerializer.DeserializeInternal (читатель JsonReader, тип objectType) в c: \ Temp \ Json \ Working \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonSerializer.cs: строка 711 в Newtonsoft.Json.JsonSerializer.Deserialize (читатель JsonReader , Введите objectType) в c: \ Temp \ Json \ Working \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonSerializer.cs: строка 663 в Newtonsoft.Json.JsonConvert.DeserializeObject (строковое значение, тип типа, настройки JsonSerializerSettings) в c : \ Temp \ Json \ Working \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonConvert.cs: строка 797 в Newtonsoft.Json.JsonConvert.DeserializeObject [T] (строковое значение, настройки JsonSerializerSettings) в c: \ Temp \ Json \ Рабочий \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonConvert.cs: строка 757 в Newtonsoft.Json.JsonConvert.DeserializeObject [T] (строковое значение) в c: \ Temp \ Json \ Working \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonConvert.cs: строка 694 в oddsreader.Form1.Form1_Load (отправитель объекта , EventArgs e) в c: \ Users \ zuz \ Documents \ Visual Studio 2012 \ Projects \ oddsreader \ oddsreader \ Form1.cs: строка 692
Когда я попробовал несколько онлайн-валидаторов json, они вернули, что строка действительна. Что может быть в этом плохого?
EDIT2: Возможно, я был совершенно неправ. Поэтому я задам вопрос попроще. Как я мог сделать foreach массива «odds», а затем foreach его подмассивов? Путь к коэффициентам следующий: ["d"] ["oddsdata"] ["back"] ["E-1-2-0-0-0"] ["odds"]. Я не нашел пример кода с режимом больше двухуровневых массивов.