2010-04-26 252 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); 
}