首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2013-06-26 
为什么用eval解析json字符串要加括号,否则就报语法错误?var jsonStr {a:1}var jsonObj eval(josn

为什么用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);

热点排行