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

}

原文地址:https://www.cnblogs.com/NetSos/p/1828432.html