javascript使用eval解析json的注意点
程序员文章站
2022-05-18 18:42:04
...
对于json格式的字符串,在使用eval将字符串转换为json对象时需要注意在前后加上小括号。如下所示:
<script type="text/javascript"> var data = '{root:[{name:"1", value:"0"},{name:"6101", value:"北京"},{name:"6102", value:"天津"}]}'; var dataObj_1 = eval(data); var dataObj_2 = eval("(" + data + ")"); console.info(dataObj_1); console.info(dataObj_2); </script>
该代码的运行结果如下:
之所以会出现如上的结果,是因为eval本身就可以解析并且运行字符串中的代码。由于json是以{}的方式来开始和结束的,在JS中,它会被当成是一个语句块来处理,所以想要不被当作语句块来处理,就必须强制性的将它转为一种表达式。加上圆括号的目的就是为了使函数在处理的时候强制将括号内的表达式转为对象,而不是作为语句来执行。
上一篇: jQuery处理AJAX返回的数据
下一篇: Beanstalkd基本使用