尝试获取有关YouTube视频的一些信息:
http://gdata.youtube.com/feeds/api/videos/BDQqSnSEuyk?v=2&alt=jsonc&callback=storeInfo
结果是JSON。
我尝试使用JSON.net反序列化它:
JObject JObj = (JObject)JsonConvert.DeserializeObject(gDataResult);
我收到此错误:
Error parsing comment. Expected: *, got /. Path '', line 1, position 1.
这是因为单个//评论。
答案 0 :(得分:0)
阅读数据文件时必须更加小心。这不是JSON。这是JSON-P。即使您提供的网址也表明:请注意最后的callback=storeInfo
。
JSON-P与JSON的不同之处在于对象包含在函数调用中:
// API callback
storeInfo({"apiVersion":"2.1","..... }}});
要成为普通的JSON,它必须只是
// API callback
{"apiVersion":"2.1","..... }}};
使用此服务,只需使用http://gdata.youtube.com/feeds/api/videos/BDQqSnSEuyk?v=2&alt=jsonc
的网址,而不使用“回调”部分,您将获得正常的JSON响应。