我有动态构建的字符串变量:
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);
,但是不起作用。
我哪里错了?
答案 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));