①从json数据的形式来区分
a.json数据格式为
单条
,如下
data = '{"id":108150,"avaliable":"Y","code":"0009","name":"test","parentId":0,"shortName":"test"}'
这时,可以通过
js的 eval
函数 和
new Function()
匿名函数来实现
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
数组来转换
success: function(data){
//返回数据
var dataArr2 = new Array(); // 创建数组
dataArr2=dataArr2.concat(data); // 合并数组
alert(dataArr2[0].id+"--"+dataArr2[0].name); //显示 100450--性质1
}
附:
eval() 函数可将字符串转换为代码执行,并返回一个或多个值
var str = "function(){alert('a');}“;
str = eval("("+str+")");
str();
eval()的返回值遵循以下规则:
1.如果eval()的参数不是字符串,那么eval()将直接返回参数。
2.如果eval()的参数是字符串,那么eval()将这个字符串解析成代码后进行执行,并返回最后一行代码执行的结果。
3.如果字符串无法解析成合法的代码,eval()将抛出SyntaxError错误。