将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。