js怎样读取json里面的数据
收集整理:
var json = { contry:{ area:{ man:"12万", women:"10万" } } };
//方式一:使用eval解析
var obj = eval(json);
alert(obj.constructor);
alert(obj.contry.area.women);
//方式二:使用Funtion函数
var strJSON = "{name:'json name'}";//得到的JSON
var obj = new Function("return" + strJSON)();//转换后的JSON对象
alert(obj.name);//json name
alert(obj.constructor);
//复杂一点的json数组数据的解析
var value1 = [{"c01":"1","c02":"2","c03":"3"}, {"c01":"2","c02":"4","c03":"5"}, {"c01":"5","c02":"1","c03":"4"}];
var obj1 = eval(value1);
alert(obj1[0].c01);
//复杂一点的json数组数据的解析;获取键名
var value1 = [{"c01":"1","c02":"2"}, {"c01":"2","c02":"4"}, {"c01":"5","c02":"1"}];
var a3 = eval(value1);
$.each(a3, function (i) {
//$('#' + a1 ).append(new Option(a3[i].c02, a3[i].c01 ));
//$('#' + a1 ).append(new Option(a3[i]['c02'], a3[i]['c01'] ));
var a31=Object.keys(a3[i])[0]; //第1个键名c01
var count= Object.keys(a3[i]).length; //number of elements(a3[i])
var a32=Object.keys(a3[i])[1];} //第2个键名c02
$('#' + a1 ).append(new Option( a3[i][a32], a3[i][a31] ));
});
}
//复杂一点的json的另一种形式
var value2 = {"list":[ {"password":"1230","username":"coolcooldool"}, {"password":"thisis2","username":"okokok"}], "array":[{"password":"1230","username":"coolcooldool"},{"password":"thisis2","username":"okokok"}]};
var obj2 = eval(value2);
alert(obj2.list[0].password);