2013-07-29 168 views
2

到C#的迴應我的新閱讀,並沒有找到一個簡單的代碼來讀取URL的響應。例如:最簡單的方法來從URL

http://www.somesitehere.com/mysearch 

的反應是這樣的(我不知道是什麼樣的反應是這樣的):

{ "response": { 
"status": { 
    "code": "0", 
    "message": "Success", 
    "version": "4.2" 
}, 
    "start": 0, 
    "total": 121, 
    "images": [ 
    { 
     "url": "www.someimagelinkhere.com/pic.jpg", 
     "license": { 
     "url": "", 
     "attribution": "", 
     "type": "unknown" 
     } 
    } 
    ] 
}} 

之後,我會去保存URL「www.someimagelinkhere.com/ pic.jpg「到一個文件。但是,我知道該怎麼做。我只是想分開其餘的網址。

我看到這個題目:Easiest way to read from a URL into a string in .NET

再見

+0

的[從URL讀入在.NET中的字符串最簡單的方法(可能重複http://stackoverflow.com/questions/1048199/easiest-way-to -read-從-A-URL - 到 - 一個字符串,在網) – Jwosty

+0

有什麼問題解決?您要提取的頁面只是似乎是JSON格式...... – Jwosty

+0

鏈接[Json.NET(http://json.codeplex.com/)。對於未來的參考,你應該看看'內容Type'頭,這通常會告訴你的反應是什麼類型。例如,這個可能類似於'application/json'。 –

回答

3

你的反應是JSON格式。使用一個庫(NewtonSoft,但也有其他)來提取你想要的節點。

1

您可以通過牛頓軟,這可以被發現和使用Visual Studio的NuGet包管理器安裝使用類似JSON.NET。

你也可以只做到這一點。

var jSerializer = new JavaScriptSerializer(); 
var result = jSerializer.DeserializeObject("YOUR JSON RESPONSE STRING"); 

JSON字符串不會與如果需要,你可以創建一個強類型的對象,並投出您轉換的對象到符合您的名字,如啓動,總,圖像等是性能的C#對象一個易於使用。

強類型版本:

var jSerializer = new JavaScriptSerializer(); 
var result = (YourStrongType)jSerializer.DeserializeObject("YOUR JSON RESPONSE STRING"); 

var imgUrl = result.images[0].url;