110,533
社区成员
发帖
与我相关
我的任务
分享
https://s.taobao.com/search?data-key=sort&data-value=sale-desc&ajax=true&_ksTS=1450845845846_893&callback=jsonp894&q=%E6%97%B1%E5%86%B0%E9%9E%8B&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20151223&ie=utf8&sort=sale-desc
&callback=dan_sui&
那么上述的代码中你就改为result = result.Substring(8, result.Length - 10);
就行了,因为你把这个函数名称改为7个字符的了,所以要对返回的字符串从 dan_sui( 之后开始截取,所以是从第8个字符(从0开始计数)开始截取的。callback=jsonp894
所以它返回的 jsonp 的内容中就有这个函数。看来你对jsonp、javascript 函数,这两个概念,都不了解。
代码是这样的:var url = "https://s.taobao.com/search?data-key=sort&data-value=sale-desc&ajax=true&_ksTS=1450845845846_893&callback=jsonp894&q=%E6%97%B1%E5%86%B0%E9%9E%8B&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20151223&ie=utf8&sort=sale-desc%20%E6%9B%B4%E5%A4%9A%200%20%E5%88%86%E4%BA%AB%E5%88%B0%EF%BC%9A%20%E7%9B%B8%E5%85%B3%E6%8E%A8%E8%8D%90%EF%BC%9A%20Spark%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8%EF%BC%881%EF%BC%89%EF%BC%9AScala%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E5%8F%8A%E7%A8%8B%E5%BA%8F%E6%8E%A7%E5%88%B6%E8%A7%A3%E6%9E%90%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E6%9C%8D%E5%8A%A1360%E5%BA%A6%E8%A7%A3%E6%9E%90%E4%BA%9A%E9%A9%AC%E9%80%8AAWS%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E6%9C%8D%E5%8A%A1%E2%80%9C%E6%94%92%E8%AF%BE%E2%80%9D%E8%AF%BE%E9%A2%983%EF%BC%9A%E5%AE%89%E5%8D%93%E7%BC%96%E8%AF%91%E4%B8%8E%E5%BC%80%E5%8F%91%E3%80%81Linux%E5%86%85%E6%A0%B8%E5%8F%8A%E9%A9%B1%E5%8A%A8%20%E5%AF%B9%E6%88%91%E6%9C%89%E7%94%A8[0]%20%E4%B8%A2%E4%B8%AA%E6%9D%BF%E7%A0%96[0]%20%E5%BC%95%E7%94%A8%20|%20%E4%B8%BE%E6%8A%A5%20|%20%E7%AE%A1%E7%90%86%20%E5%9B%9E%E5%A4%8D%E6%AC%A1%E6%95%B0%EF%BC%9A8";
var result = Encoding.UTF8.GetString( new WebClient().DownloadData(url));
result = result.Trim();
result = result.Substring(9, result.Length - 11); //去掉开头的 "jsonp894( 和 结尾的 ) 符号
var obj = JObject.Parse(result);
你也可以在最后一行那里,使用 var obj = JsonConvert.DeserializeObject<YourType>(result);
去直接转换为强类型的对象。#2楼所说的意思,就是 vs 开发工具可以直接根据这个打印输出的 result 字符串的值,自动生成出强类型的 class。