2010-04-26 254 views

回答

12
var array_of_objects = eval("[" + my_string + "]"); 

這將執行字符串作爲代碼,這就是爲什麼我們需要添加[]使其成爲一個對象。這也是eval作爲最快,最簡單的方法的少數合法用途之一。 :D

+0

僅供參考,如果您使用JSON解析器庫,也可以使用JSON.parse方法。謝謝SLaks http://stackoverflow.com/questions/2710556/convert-javascript-string-to-an-array/2710558#2710558 – 2010-04-26 00:58:46

6

假設str保存有效的JSON語法,您可以簡單地調用eval(str)

爲了安全起見,最好使用JSON parser,像這樣:

JSON.parse(str); 

注意str必須[]包裹是一個有效的JSON陣列。

0
var str=eval([{'id':'1','txt':'name1'},{'id':'2','txt':'name2'},{'id':'3','txt':'name3'}]) 
for(var i=0;i<str.length;i++) 
{ 
alert(str[i].txt); 
}