一、问题描述:
获取前台及后台数据手动拼接为JSON字符串样式便于传输及操作,js中获取字符串后使用JSON.parse(str)时失败,代码出错并不做提示。改用eval(str)后返回结果才可以操作;
字符串样式: "[['a',''b],['c','d']]";
二、原因
后经测试发现,字符串内部最外侧引号为单引号时失败、为双引号时成功。
var str_0 = "[['a','b'],['c','d']]";
JSON.parse(str_0); //失败
eval(str_0); //成功
var str_1 = '[["a","b"],["c","d"]]';
JSON.parse(str_1); //成功
eval(str_1) ; //成功
更进一步的原因暂不清楚。