Morris Chart将数据从字符串转换为对象

时间:2016-06-07 13:32:15

标签: javascript php arrays json charts

我有动态构建的字符串变量:

var vData = "[{value: 7, label: '1'},{value: 45, label: '2'},{value: 38, label: '4'},{value: 9, label: '7'}]";

如何将字符串变量转换为数组以传递数据参数?

我尝试使用Javascript:JSON.parse(vData),但不起作用。 在一个单独的PHP文件中,我在PHP文件的末尾尝试使用:echo json_encode($arr);,但是不起作用。

我哪里错了?

1 个答案:

答案 0 :(得分:0)

您必须将字符串和属性名称用双引号括起来才能使JSON.parse正常工作。例如:[{"value": 7, "label": "1"}]

我强烈建议在你的字符串生成代码中修复它,但只是为了告诉你它的工作原理(绝对不是正确的正则表达式方法):

var data = "[{value: 7, label: '1'},{value: 45, label: '2'},{value: 38, label: '4'},{value: 9, label: '7'}]";


data = data.replace(/value/g, '"value"');
data = data.replace(/label/g, '"label"');
data = data.replace(/\'/g, '"'); 

console.log(JSON.parse(data));