JavaScript中JSON.parse()方法转换字符串失败

一、问题描述:

  获取前台及后台数据手动拼接为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) ;      //成功

  更进一步的原因暂不清楚。

猜你喜欢

转载自www.cnblogs.com/songpanyard/p/10113150.html