Как получить строку json из url?


я переключаю свою форму кода XML на JSON.

но я не могу найти, как получить строку JSON из данного url.

URL-адрес выглядит примерно так:"https://api.facebook.com/method/fql.query?query=.....&format=json"

я использовал XDocuments раньше, там я мог бы использовать метод load:

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

каков эквивалент этого метода для JSON? Я использую JSON.NET.

3 121

3 ответа:

использовать WebClient класс System.Net:

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

имейте в виду, что WebClient и IDisposable, так что вы, вероятно, добавить 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 и хотите использовать async, то вы можете использовать HttpClient in System.Net.Http:

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

    // Now parse with JSON.Net
}