我有以下代码:
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";
但它会在第二行停止,就像有返回一样 - 它不会在文本框中写 1。我究竟做错了什么?
这里用结构重写:http: //pastebin.com/xZAhjU8w 谢谢。
编辑: A 使用了 try-catch,它的例外是:
Newtonsoft.Json.JsonSerializationException:完成反序列化对象后在 JSON 字符串中找到的附加文本。在 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) 在 c:\Temp\Json\Working\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 177 at Newtonsoft .Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) in c:\Temp\Json\Working\Newtonsoft.Json\Src\Newtonsoft.Json\JsonSerializer.cs:line 711 at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader , 在 c:\Temp\Json\Working\Newtonsoft.Json\Src\Newtonsoft.Json\JsonSerializer.cs 中键入 objectType):Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) 在 c 中的第 663 行:
当我尝试一些在线 json 验证器时,它们返回的字符串是有效的。它有什么问题?
EDIT2:我可能完全错了。所以我会问一个更简单的问题。我怎么能做一个“奇数”数组的foreach,然后foreach它的子数组?赔率的路径是:["d"]["oddsdata"]["back"]["E-1-2-0-0-0"]["odds"]。我还没有找到模式超过 2 级数组的示例代码。