2016-06-09 60 views
1

Javascript:如果我有一個只包含JSON內容的url,那麼我該如何從url中將JSON存儲在一個我可以遍歷並獲取某些值的變量中?Javascript:將包含JSON的URL轉換爲可遍歷變量?

例如,URL可能包含這樣的事情,並沒有別的:

{"cookies": [ {"chocolate": 50}, {"raisin": 12} ] } 

我怎麼可能提取URL的內容有,我可以指定內容到一個變量中的對象,例如x,然後使用像x.cookies這樣的函數來獲得[{「chocolate」:50},{「raisin」:12}]} ??

非常感謝!我非常感謝你的幫助:)祝你有美好的一天!

+1

你的意思是你想解析一個JSON字符串到一個JSON對象嗎? 'JSON.parse(urlString)' – zeronone

+0

你問如何獲取網址? – ray

+0

是啊@ray。我需要獲取網址! –

回答

0

你會想看看使用XMLHttpRequest,或者如果你使用jQuery,你可以使用getJSON()

+0

這會很好用,但JSON.parse需要一個字符串。我需要給它一個url,從中提取包含在該站點上的字符串,然後我可以解析它。換句話說,如果你知道如何從一個URL去將這個URL的內容轉換成文本,那就是我所需要的。我認爲Python有能力導入可以讀取URL的urllib,但是在Javascript中有相當的功能嗎? –

+0

更新了我的答案,並提供了關於如何獲取網址的鏈接。 – ray

0

JSON.parse是將JSON字符串轉換爲變量的常規命令。

var x = JSON.parse('{"cookies": [ {"chocolate": 50}, {"raisin": 12} ] }'); 
console.log(x.cookies); 
+0

這會很好用,但JSON.parse需要一個字符串。我需要給它一個url,從中提取包含在該站點上的字符串,然後我可以解析它。換句話說,如果你知道如何從一個URL去將這個URL的內容轉換成文本,那就是我所需要的。 –

+0

哦,所以你要使用AJAX庫如jQuery http://api.jquery.com/jQuery.ajax/ 喜歡的東西 ' $阿賈克斯({ 網址:「HTTP://path-to-content「, }) .done(function(data,textStatus,jqXHR)if(console && console.log){ console.log(」Server returned:「,data); } }); ' JQuery會自動將JSON文本解析爲一個對象 – Eric