将JSONstring转换为Javascript中的JSON对象数组

我想转换这个string

{"id":1,"name":"Test1"},{"id":2,"name":"Test2"} 

到2个JSON对象的数组。 我应该怎么做?

最好

使用jQuery:

 var str = '{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}'; var jsonObj = $.parseJSON('[' + str + ']'); 

jsonObj是你的JSON对象。

正如Luca指出的那样,在您的string中添加额外的[] ,并使用下面的代码:

 var myObject = eval('(' + myJSONtext + ')'); 

要testing它,你可以使用下面的代码片段。

 var s =" [{'id':1,'name':'Test1'},{'id':2,'name':'Test2'}]"; var myObject = eval('(' + s + ')'); for (i in myObject) { alert(myObject[i]["name"]); } 

希望能帮助到你..

就如此容易。

 var str = '{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}'; dataObj = JSON.parse(str); 

在string的开始和结尾添加额外的[] 。 这将使它成为一个数组。 然后使用eval()或一些安全的JSON序列化程序来串行化string,并使其成为真正的JavaScript数据types。

你应该使用https://github.com/douglascrockford/JSON-js而不是;eval() 。 只有当你正在做一些快速的debugging/testing时,eval才是。

如果您使用jQuery,则可以使用parseJSON函数,并且优于JavaScript的本地eval()函数。

我知道很多人都在说使用eval。 eval()js函数会调用编译器,并且可能会带来一系列的安全风险。 尽可能避免使用它。 parsing函数提供了一个更安全的select。