如何从 URL 获取 JSON 字符串?

我将代码从 XML 转换为 JSON。

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

网址是这样的: “ https://api.facebook.com/method/fql.query?query=.....&format=json" ;

我以前使用过 XDocument,在那里我可以使用 load 方法:

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

对于 JSON,这个方法的等价物是什么? 我使用的是 JSON.NET。

297643 次浏览

使用 System.Net中的 WebClient类:

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

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

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

AFAIK JSON.Net 不提供从 URL 读取的功能,所以你需要分两步来做:

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

如果你正在使用.NET 4.5并且想要使用异步,那么你可以在 System.Net.Http中使用 HttpClient:

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


// Now parse with JSON.Net
}