当前位置: 代码迷 >> JavaScript >> 为什么用eval解析json字符串要加括号,否则就报语法异常
  详细解决方案

为什么用eval解析json字符串要加括号,否则就报语法异常

热度:3   发布时间:2013-06-26 14:29:32.0
为什么用eval解析json字符串要加括号,否则就报语法错误?

var jsonStr = '{"a":1}';
var jsonObj = eval(josnStr);


为什么这样会报语法错误?一直都在被动接受要eval("("+jsonStr+")"),就是不明白为什么?

var a = eval("1+1");

这样就没问题,不报错。

为什么?百思不得骑姐!
eval

------解决方案--------------------
为了让最外层的{}不要被eval理解成为Javascript的代码块的开始.而是理解成为一个对象字面量
你写成这样也是一样的
var jsonStr = '{"a":1}';
eval('var jsonObj = '+jsonStr);
alert(jsonObj.a);
  相关解决方案