Javascript 将字符串解析为对象

Javascript 将字符串解析为对象,javascript,Javascript,我从数据库中获取数据,但当我尝试使用json解析对其进行解析时,会出现一个错误,表明这不是有效的json格式。(因为它的值不在引号中) 我不能对数据进行任何更改,如果可能的话,我宁愿不使用替换 是否有其他JavaScript函数可用于将数据值解析为json甚至数组。试试: var data = "a,b,c".split(','); obj = []; for (var i = 0; i < data.length; i++) { obj.push({'0': data[i]}); }

我从数据库中获取
数据
,但当我尝试使用json解析对其进行解析时,会出现一个错误,表明这不是有效的json格式。(因为它的值不在引号中)

我不能对
数据
进行任何更改,如果可能的话,我宁愿不使用
替换

是否有其他JavaScript函数可用于将数据值解析为json甚至数组。

试试:

var data = "a,b,c".split(',');
obj = [];
for (var i = 0; i < data.length; i++)
{
  obj.push({'0': data[i]});
}
var data=“a,b,c”.拆分(',');
obj=[];
对于(变量i=0;i
使用split()方法将字符串拆分为子字符串数组

var data = "a,b,c";
data = data.split(',');
arr = [];

for(var i = 0; i < data.length; i++){
    arr.push({0: data[i]})
}
console.log(data);
console.log(arr);
var data=“a、b、c”;
data=data.split(',');
arr=[];
对于(变量i=0;i
如评论中所述,您的数据没有JSON格式,因此不要尝试将其解析为JSON

相反,它似乎表示一个逗号分隔的值列表。要获得具有这些值的数组,可以使用

然后,要将每个项目包装到对象中,可以使用:

使用ES6进行简化


只需执行
var data=“a,b,c”
,无需解析您想要返回什么?请您再次检查代码,我修复了问题您的数据不是JSON,因此您无法使用JSON解析它。类似于
“a,b,c”。拆分(',')。映射(I=>({0:I}))
?非常感谢您,您救了我的命:)
var data = "a,b,c";
data = data.split(',');
arr = [];

for(var i = 0; i < data.length; i++){
    arr.push({0: data[i]})
}
console.log(data);
console.log(arr);
"a,b,c".split(',').map(function(item) {
  return {0: item};
});
"a,b,c".split(',').map(i => ({0:i}));