2011-04-06 206 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