Как получить строку 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.
Ответы
Ответ 1
Используйте класс WebClient
в System.Net
:
var json = new WebClient().DownloadString("url");
Имейте в виду, что WebClient
- IDisposable
, поэтому вы, вероятно, добавили бы инструкцию using
к этому в производственном коде. Это будет выглядеть так:
using (WebClient wc = new WebClient())
{
var json = wc.DownloadString("url");
}
Ответ 2
AFAIK JSON.Net не предоставляет возможности для чтения из URL. Поэтому вам нужно сделать это в два этапа:
using (var webClient = new System.Net.WebClient()) {
var json = webClient.DownloadString(URL);
// Now parse with JSON.Net
}
Ответ 3
Если вы используете .NET 4.5 и хотите использовать async, вы можете использовать HttpClient
в System.Net.Http
:
using (var httpClient = new HttpClient())
{
var json = await httpClient.GetStringAsync("url");
// Now parse with JSON.Net
}