使用javascript将字符串转换为数组对象

时间:2013-11-06 20:23:07

标签: javascript

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

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

2 个答案:

答案 0 :(得分:2)

如果您希望确切的字符串是数组对象,则可以执行以下操作:

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

以下是evalWhy is using the JavaScript eval function a bad idea?

的一些危险

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

答案 1 :(得分: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
                       });
相关问题