it-swarm-es.tech

¿Cómo obtener una cadena json de url?

Estoy cambiando mi código de forma XML a JSON.

Pero no puedo encontrar cómo obtener una cadena JSON de un url dado.

La URL es algo como esto: " https://api.facebook.com/method/fql.query?query=.....&format=json "

Usé XDocuments antes, allí podría usar el método de carga:

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

¿Cuál es el equivalente de este método para JSON? Estoy usando JSON.NET.

131
ThdK

Use la clase WebClient en System.Net:

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

Tenga en cuenta que WebClient es IDisposable, por lo que probablemente agregaría una declaración using a esto en el código de producción. Esto se vería como:

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

AFAIK JSON.Net no proporciona funcionalidad para leer desde una URL. Así que necesitas hacer esto en dos pasos:

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

Si está utilizando .NET 4.5 y quiere usar async, puede usar HttpClient en System.Net.Http:

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

    // Now parse with JSON.Net
}
41
Richard Garside