JObject解析注释时出错

时间:2013-11-28 13:18:19

标签: c# json

尝试获取有关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.

这是因为单个//评论。

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响应。