0

如何使用 JavaScript 将以下字符串转换为数组:

from: var x = "{id:'2'},{name:'code,Barer'}";
to: var x1 = [{id:"2"},{name:"code,Barer"}];
4

2 回答 2

2

如果您希望该确切的字符串是一个数组对象,您可以这样做:

var x = "{id:'2'},{name:'code,Barer'}";
var newArray = eval("[" + x + "]");

这里有一些危险eval为什么使用 JavaScript eval 函数是个坏主意?

你是如何得到变量的x?如果你能得到任何东西来吐出有效的 JSON(使用JSON.stringify或类似的东西),你就可以将它正确地解析成 JS(尽管 JSON 解析器的一些实现确实使用 eval)。

于 2013-11-06T20:26:08.547 回答
0

eval如果您出于安全原因想避免使用,请尝试此操作

var string = "{id:'2'},{name:'code,Barer'}",
    array = string.substr(1, string.length - 2)
                  .split("},{")
                  .map(function(item){
                         item = item.split(":");
                         var result = {}, 
                             name = item[0], 
                             value = item[1].replace(/'/g, "");
                         result[name] = value;
                         return result
                       });
于 2013-11-06T20:34:11.253 回答