Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从URL获取JSON字符串?_C#_Json_Facebook_Linq To Xml_Webclient - Fatal编程技术网

C# 如何从URL获取JSON字符串?

C# 如何从URL获取JSON字符串?,c#,json,facebook,linq-to-xml,webclient,C#,Json,Facebook,Linq To Xml,Webclient,我正在将代码从XML转换为JSON 但是我找不到如何从给定的URL获取JSON字符串 URL如下所示:https://api.facebook.com/method/fql.query?query=.....&format=json" 我以前使用过XDocuments,在那里我可以使用load方法: XDocument doc = XDocument.load("URL"); 对于JSON,这种方法的等效性是什么?我使用的是JSON.NET。使用System.NET中的We

我正在将代码从XML转换为JSON

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

URL如下所示:https://api.facebook.com/method/fql.query?query=.....&format=json"

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

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

对于JSON,这种方法的等效性是什么?我使用的是JSON.NET。

使用
System.NET
中的
WebClient
类:

var json = new WebClient().DownloadString("url");
请记住,
WebClient
IDisposable
,因此您可能会在生产代码中使用
语句向其添加
。这看起来像:

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
}

@史密斯:这不是一个建议。。。这篇文章提到:)谢谢你帮我,奇怪的是我没有在谷歌上找到这个,这真的是一个基本问题,不是吗?我现在遇到一个错误,比如:无法将JSON对象反序列化为“System.String”类型。我知道类中的某个属性没有正确声明,但我就是找不到其中一个。但我还在努力!:)为什么要跳过Jon在回答中使用的using语句?直到我将
var json=wc.DownloadString(“url”)
中尝试捕获
块!我发现错误“HttpRequestException:无法分配请求的地址”。。这是URL:,但它与URL一起工作:您必须在
任务中使用它,而
异步