2011-04-06 139 views

回答

204

使用WebClientSystem.Net

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

记住WebClientIDisposable,所以你可能会在生产代码中添加using声明了这一点。这看起来像:

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

为什么你跳过使用在Jon的回答中使用的陈述? – Skuli 2014-05-30 09:03:37

+0

**编辑以反映您的评论。 @Skuli – 2015-08-03 19:39:48

84

AFAIK JSON.Net不提供读取URL的功能。所以,你需要做的这两个步骤:

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

+1建议使用JSON.Net的好处。非常好的图书馆来调查。 – jsmith 2011-04-06 13:26:31

+1

@jsmith:这不是一个建议...... OP提到它:) – Jon 2011-04-06 13:28:53

+0

Thx帮助我,这很奇怪,我没有在谷歌上找到这个,这真的是一个基本问题,不是吗?我现在有一个错误:无法将JSON对象反序列化为类型'System.String'。我知道我的班里有一些属性是不正确的,但我找不到那个。但我仍然在努力! :) – ThdK 2011-04-06 14:07:46

33

如果你使用.NET 4.5,并希望使用异步那么您可以在System.Net.Http使用HttpClient

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

    // Now parse with JSON.Net 
} 
+4

这一个适用于通用Windows应用程序 – garenyondem 2015-05-08 20:55:20