用eval生成JSON对象

在使用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))();

}

posted @ 2010-09-16 21:51  hevily  Views(919)  Comments(1Edit  收藏  举报