使用以下方法无法遍历出 各时间对应的 json长度,如 20130310 下的长度为3 ,20130311 下的长度也为3for(var day in data_arr1){
var tmp_length = data_arr1[day].length;
}
{
"data_arr1": {
"20130310": {
"240*320": "3",
"320*480": "2",
"800×480": "4"
},
"20130311": {
"240*320": "2",
"320*480": "3",
"800×480": "3"
},
"20130312": {
"240*320": "1",
"320*480": "5",
"800×480": "3"
},
"20130313": {
"240*320": "3",
"320*480": "7",
"800×480": "9"
},
"20130314": {
"240*320": "4",
"320*480": "6",
"800×480": "3"
}
}
}
var a={
"data_arr1": {
"20130310": {
"240*320": "3",
"320*480": "2",
"800×480": "4"
},
"20130311": {
"240*320": "2",
"320*480": "3",
"800×480": "3"
},
"20130312": {
"240*320": "1",
"320*480": "5",
"800×480": "3"
},
"20130313": {
"240*320": "3",
"320*480": "7",
"800×480": "9"
},
"20130314": {
"240*320": "4",
"320*480": "6",
"800×480": "3"
}
}
}
for(var i in a["data_arr1"]){
var x=0;
for(var j in a["data_arr1"][i]){
x++;
}
alert(i+":"+x);
}
</script>
这样试试
var data = {
"data_arr1": {
"20130310": {
"240*320": "3",
"320*480": "2",
"800×480": "4"
},
"20130311": {
"240*320": "2",
"320*480": "3",
"800×480": "3"
},
"20130312": {
"240*320": "1",
"320*480": "5",
"800×480": "3"
},
"20130313": {
"240*320": "3",
"320*480": "7",
"800×480": "9"
},
"20130314": {
"240*320": "4",
"320*480": "6",
"800×480": "3"
}
}
};
var count = 0;
for(var day in data.data_arr1){
count = 0;
for(var i in data.data_arr1[day]){
if(data.data_arr1[day].hasOwnProperty(i))
++count;
}
alert(day + '下的长度为 ' + count);
}
"20130310": {
"240*320": "3",
"320*480": "2",
"800×480": "4"
}
"240*320","320*480","800*480"只是"20130310"这个对象的三个属性名,容易混淆的一个地方就是js也可以用obj[attrName]取对象的属性