使用以下代码段,我可以从google Web Search API获得4个结果。我知道我正在使用一个已弃用的API,但我只是在这里测试一些东西,并且在我更熟悉它时会使用新的自定义搜索API。但是现在,我想知道如何解析结果中“unescapedUrl”的返回结果?基本上,我想在返回的JSON中获取所有四个“unescapedUrl”值 这是我的代码:
var searchTerm = "pizza boxes";
using (var web = new WebClient())
{
web.Headers.Add("Referrer", "http://localhost:49360/");
var result = web.DownloadString(String.Format(
"http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q={0}&rsz=4",
searchTerm));
Console.WriteLine(result);
}
我不想使用JSON.Net(现在),除非我绝对必须这样做。有什么想法吗?
谢谢!
答案 0 :(得分:1)
您需要创建一个类型,但是您是否考虑过使用System.Web.Extensions.dll中的JavaScriptSerializer?
我不能说我很了解Google API,但是如果它是一个简单的JSON属性包,那么你可以使用这样简单的东西:
System.Web.Script.Serialization.JavaScriptSerializer ser = new System.Web.Script.Serialization.JavaScriptSerializer();
System.Collections.Generic.Dictionary<string, object> dict = ser.DeserializeObject(@"{""key"":""value""}") as System.Collections.Generic.Dictionary<string, object>;
Console.WriteLine(dict["key"].ToString());