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

①从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 
		}
	});
}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值