2012-08-07 70 views
3

我需要從外部域獲取Json數據。我使用webrequest從網站獲得響應。繼承人的代碼:從Web請求獲取C#中的JSON對象

var search = umbraco.library.Request("search"); 
string Url = "http://ff.ss.dk/Suggest.ff?username=us&password=pass&channel=dk&format=JSON&query="+search; 
WebRequest webRequest = WebRequest.Create(Url); 
WebResponse response = webRequest.GetResponse(); 
Stream responseStream = response.GetResponseStream(); 
StreamReader reader = new StreamReader(responseStream); 

這樣我收到這樣

[{" hitCount "輸出:0," IMAGEURL ":" ","查詢":"的Atrixħ\ u00E5ndcreme Dobbeltvirkende/100 Ml ","類型":"產品名稱"},{" hitCount ":0," IMAGEURL ":" ","查詢":" V \ u00E6gur magnetisk吸引力","類型":" PRODUCTNAME "},{" hitCount ":0," IMAGEURL ":" ","查詢": " Bic kuglepen Atlantis,bl \ u00E5 ","類型":"產品名稱"},{" hitCount ":0," IMAGEURL ":" ","查詢":" Laminering AT125631釐米x30m A3 ","型":"產品名稱"}]

我想在JSON對象格式此輸出數據,我可以在我的Java腳本函數中使用它。 我認爲輸出數據格式不合適,因爲我使用streamreader函數來獲取data.is有任何想法來解決這個問題?

+0

您是否嘗試過使用** Json.Net **來序列化該內容? – 2012-08-07 12:31:54

+0

輸出數據如何「不適當」?在http://jsonformatter.curiousconcept.com/上驗證時,它似乎是有效的JSON @ – wal 2012-08-07 12:43:51

+0

@wal:數據是字符串格式,我需要將其轉換爲json對象 – Athul 2012-08-10 05:58:35

回答

7

這個數據可以使用jQuery.parseJSON轉換爲json格式。

var obj = JSON.parse(data); 

那麼我們就可以像

obj[0].id 

感謝所有訪問數據。

0

你似乎缺少一個數組名指定,例如,這個工程:

{arrayName中:[{ 「hitCount」:0, 「IMAGEURL」: 「」, 「查詢」:「Atrix的^ h \ u00E5ndcreme Dobbeltvirkende/100 Ml「,」type「:」productName「},{」hitCount「:0,」imageURL「:」「,」query「:」V \ u00E6gur magnetisk attraction「,」type「:」productName「} ,{「hitCount」:0,「imageURL」:「」,「query」:「Bic kuglepen Atlantis,bl \ u00E5」,「type」:「productName」},{「hitCount」:0,「imageURL」:「 「,」query「:」Laminering AT1256 31cm x30m A3「,」type「:」productName「}]}