js下用eval生成JSON对象
更新时间:2010年09月17日 08:48:20 作者:
在使用eval生成JSON对象时,一定要注意添加一对圆括号
例如:var json = eval('('+ret+')');
假设我们在服务器端使用php的encode_json()生成需要返回的字符串
如果生成的字符串是[{"name":"boke"},{"age":"23"}],
我们可以直接使用eval([{"name":"boke"},{"age":"23"}])生成相应的JSON对象;
如果生成的字符串是{“name":"boke","age":"23"},
我们使用eval({“name":"boke","age":"23"})生成JSON对象时就会出错
,我们需要这样写eval(({“name":"boke","age":"23"}))。
eval(( ))的写法同样适用于包括第一种情况在内的其它通过encode_json()函数生成的字符串
也可以不用eval,用一个特殊的
function getdata(data){
return (new Function("return "+data))();
}
假设我们在服务器端使用php的encode_json()生成需要返回的字符串
如果生成的字符串是[{"name":"boke"},{"age":"23"}],
我们可以直接使用eval([{"name":"boke"},{"age":"23"}])生成相应的JSON对象;
如果生成的字符串是{“name":"boke","age":"23"},
我们使用eval({“name":"boke","age":"23"})生成JSON对象时就会出错
,我们需要这样写eval(({“name":"boke","age":"23"}))。
eval(( ))的写法同样适用于包括第一种情况在内的其它通过encode_json()函数生成的字符串
也可以不用eval,用一个特殊的
复制代码 代码如下:
function getdata(data){
return (new Function("return "+data))();
}
相关文章
js中用window.open()打开多个窗口的name问题
这篇文章主要介绍了js中用window.open()打开多个窗口的问题,需要的朋友可以参考下2014-03-03
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
这篇文章主要介绍了JavaScript黑洞数字之运算路线查找算法,涉及JavaScript递归操作算法相关技巧,需要的朋友可以参考下2016-01-01


最新评论