我从数据库中获取data
,但是当我尝试使用json解析它时,会产生一个错误,表明这不是一个有效的json格式。 (因为它的值不在引号中)。
我无法对
data
有价值的&如果可能,我不想使用replace
!
var data = "a,b,c";
data = JSON.parse('['+ data +']'); //error because there is no quotation marks
是否有任何其他JavaScript函数可用于将数据值解析为json甚至数组。
答案 0 :(得分:3)
尝试:
var data = "a,b,c".split(',');
obj = [];
for (var i = 0; i < data.length; i++)
{
obj.push({'0': data[i]});
}
答案 1 :(得分:3)
如评论中所述,您的数据不是JSON格式,因此请勿尝试将其解析为JSON。
相反,它似乎代表以逗号分隔的值列表。要获得具有这些值的数组,可以使用String.prototype.split
。
然后,要将每个项目包装在一个对象中,您可以使用Array.prototype.map
:
"a,b,c".split(',').map(function(item) {
return {0: item};
});
使用ES6 arrow functions简化,
"a,b,c".split(',').map(i => ({0:i}));
答案 2 :(得分:2)
使用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);