js接收json总结 new Function,eval,new Array

来源:互联网 发布:卡尔曼滤波算法推导 编辑:程序博客网 时间:2024/06/05 08:00

①从json数据的形式来区分

a.json数据格式为单条,如下
data = {"id":108150,"avaliable":"Y","code":"0009","name":"test","parentId":0,"shortName":"test"}
        这时,可以通过 js的 eval 函数 和new Function() 匿名函数来实现

function initAvaliable() {$.ajax({//调用后台util/comboxData/{syscode}/{code}url: "util/comboxData/appConfigSystem/avaliable",dataType: 'json',success: function(data){//返回数据     var objFunc = new Function("return" + data)();  // new Function 方法var objEval = eval("("+data+")"); // eval 函数方法alert(objFunc.id+"--"+objEval.id); // 显示为 108150--108150}});}

②json 数据格式为 多条,如下
data = [{"id":100450,"code":"aaa","name":"性质1","memo":"aaaa"},
{"id":100451,"code":"bbb","name":"性质2","memo":"aaaa"},{"id":100452,"code":"ccc","name":"性质3","memo":"备注备注123123123123"}]
这时 可以通过 new Array 数组来转换

function initAvaliable() {$.ajax({//调用后台util/comboxData/{syscode}/{code}url: "util/comboxData/appConfigSystem/avaliable",dataType: 'json',success: function(data){//返回数据var dataArr2 = new Array(); // 创建数组dataArr2=dataArr2.concat(data);        // 合并数组alert(dataArr2[0].id+"--"+dataArr2[0].name); //显示 100450--性质1 }});}





	
				
		
原创粉丝点击