JS json对象及遍历

1.JS对象与json对象区别:

JS 对象:

var JSobj= {

name:"ding";//也可以写成"name":"ding"

age:21;//也可以写成"age":21;

}

 json对象:

var json = {

"name":"ding";

//不能写成name:”ding”,JSON中的对象和属性都比必须加上双引号。

}

2.JSON对象和JS对象可以使用相应的函数进行解析(不太熟,以后补充)。

3.JSON数组表示、访问及遍历

JSON数组表示:

情况1:

var me=[

                 {
                     "name":"ding",
                    "age":12
                 },
                 {
                         "like":"girl"
                 }
        ]

访问JSON对象

alert(me[0]['name']);

或:

alert(me[0].name)

情况2:
var json_anwser2 = [{
   "0": 1,
   "1": 2,
   "2": 3
    }]
访问: alert(json[0])//弹出object object;
如果写:alert(json[1])//弹出undefine;
所以即使只有一个数组也要加上对应下标[0].(遍历时也要注意这点:文章结尾遍历)
:alert(json[0][0])。//弹出1;

 

json遍历:

情况1:

var json1 = {"user":[{"name":"ding"},{"name","ding2"}]};

for(var  i=0;i<json.a.length;i++)

{

alert(json1.abc[0].name)

} 

情况2:

var json2={"name":"txt1","name2":"txt2"};

for(var i=0;i<json2.length;i++)

{

alert(json2[i]);

}//这是错误遍历方法:


JSON1的可以这样遍历是因为json.a是一个数组对象,有length属性。

JSON2JSON对象,JSON对象无length属性。 

正确遍历方法for in

for (i in json2)

{
    alert(i);
    alert(json2[i]);
}

获取JSON长度:

for (i in json2)

{
    i++;
    return i;


二维数组JSON 的遍历

1.首先了解for in 遍历顺序

测试1

arr = [["a","b","c"],["d","e"]]; 

for (i in arr){
  alert(i)
}

结果:先后弹出:0、1


所以多维数组遍历需要用相应数组维数的for in,即对每一个数组内部进行for in遍历。 

验证:

arr = [["a","b","c"],["d","e"]];

for (i in arr){

for (j in arr[i]){

alert(arr[i][j] +":"+i )

}

} 

弹出显示顺序:

a:0

b:0

c:0

d:1

e:1

所以:
var json_anwser2 = [{
   "0": 1,
   "1": 2,
   "2": 3
    }]
这个JSON遍历也需要使用两次for in
for (i in json_anwser)
{
   for (j in json_anwser[i])
   {
       alert(json_anwser2[i][j]);
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值