如何只为我需要的信息轻松解析返回的JSON对象?

时间:2010-11-18 08:23:05

标签: c# json google-api

使用以下代码段,我可以从google Web Search API获得4个结果。我知道我正在使用一个已弃用的API,但我只是在这里测试一些东西,并且在我更熟悉它时会使用新的自定义搜索API。但是现在,我想知道如何解析结果中“unes​​capedUrl”的返回结果?基本上,我想在返回的JSON中获取所有四个“unes​​capedUrl”值 这是我的代码:

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(现在),除非我绝对必须这样做。有什么想法吗?

谢谢!

1 个答案:

答案 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());