转载于:http:///article/
eval()
定义和用法
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
eval("x=10;y=20;(x*y)")
就是将该字符串放于eval()中执行一次。这种方式也适合以普通javascipt方式获取json对象,以下举例说明:
var data='{"name":"huangxiaojian","age":"23"}';
console.log( eval( '(' + data + ')') );
为什么要 eval这里要添加 “(“(“+data+”)”);//”呢?
原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。
这个方法的参数字符串也可以写为(除了外面的”, 内部不需要必须写为标准的json格式)
var data='{name:"huangxiaojian",age:23}';
()
var data='{"name":"huangxiaojian","age":23}';
( JSON.parse(data) );
内部必须写为标准的json格式
$.parseJSON
jquery中不推荐使用,建议使用上面的()
var data='{"name":"huangxiaojian","age":23}';
( $.parseJSON(data) )
上面data字符串内部 也需要标准的json格式
服务器返回的JSON字符串
对于服务器返回的JSON字符串,如果jquery异步请求将type(一般为这个配置属性)设为“json”,或者利用$.getJSON()方法获得服务器返回,