如何使用JavaScript将以下字符串转换为数组:
from: var x = "{id:'2'},{name:'code,Barer'}";
to: var x1 = [{id:"2"},{name:"code,Barer"}];
答案 0 :(得分:2)
如果您希望确切的字符串是数组对象,则可以执行以下操作:
var x = "{id:'2'},{name:'code,Barer'}";
var newArray = eval("[" + x + "]");
以下是eval
:Why 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
});