我想转换这个字符串
{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}
到 2 个 JSON 对象的数组。我该怎么做?
最好的
我想转换这个字符串
{"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 所指出的,[]
在您的字符串中添加额外内容并使用以下代码:
var myObject = eval('(' + myJSONtext + ')');
要测试它,您可以使用下面的代码段。
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);
在字符串的开头和结尾附加额外的[
和]
。这将使它成为一个数组。然后使用eval()
或一些安全的 JSON 序列化器来序列化字符串并使其成为真正的 JavaScript 数据类型。
您应该使用https://github.com/douglascrockford/JSON-js而不是eval()
. eval 仅在您进行一些快速调试/测试时使用。
如果您使用 jQuery,则可以使用它的parseJSON函数,并且比 JavaScript 的本机eval()
函数更可取。