js读取JSON的方法我接触到的有两种:
方法一:函数构造定义法返回

var strJSON = "{name:'json name'}";//得到的JSON 

var obj = new Function("return" + strJSON)();//转换后的JSON对象 

alert(obj.name);//json name



方法二:js中著名的eval函数

var strJSON = "{name:'json name'}";//得到的JSON 

var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象 

alert(obj.name);//json name



第二种方法需要注意的是,对象表达式{'name':'json name'}必须用“()”扩住,否则

var strJSON = "{name:'json name'}"; 

var obj = eval(strJSON); 

alert(obj.constructor);//String 构造函数 

alert(obj.name);//undefine

必须把对象表达式扩起来eval执行才能生成一个匿名对象!

在我用的Ajax中,js接收到后台php传过来的json数组时,

var response=xmlHttp.responseText;
 // var obj = eval( "(" + response + ")" );这个也可以
  var obj=eval(response);console.log(obj[0]);//[1,2,3,...]

这是二维数组,一维数组也是可以的。


js读取JSON方法探讨

JS操作JSON总结