如何从url获取json字符串?

时间:2011-04-06 13:14:08

标签: c# json facebook linq-to-xml webclient

我正在将我的代码格式XML切换为JSON。

但是我找不到如何从给定的URL获取JSON字符串。

网址如下:“https://api.facebook.com/method/fql.query?query=.....&format=json

之前我使用过XDocuments,我可以使用加载方法:

XDocument doc = XDocument.load("URL");

这种JSON方法的等价物是什么?我正在使用JSON.NET。

3 个答案:

答案 0 :(得分:248)

使用WebClient中的System.Net课程:

var json = new WebClient().DownloadString("url");

请注意,WebClientIDisposable,因此您可能会在生产代码中为此添加using语句。这看起来像是:

using (WebClient wc = new WebClient())
{
   var json = wc.DownloadString("url");
}

答案 1 :(得分:99)

AFAIK JSON.Net不提供从URL读取的功能。所以你需要分两步完成:

using (var webClient = new System.Net.WebClient()) {
    var json = webClient.DownloadString(URL);
    // Now parse with JSON.Net
}

答案 2 :(得分:42)

如果您正在使用.NET 4.5并希望使用异步,那么您可以在HttpClient中使用System.Net.Http

using (var httpClient = new HttpClient())
{
    var json = await httpClient.GetStringAsync("url");

    // Now parse with JSON.Net
}