遍历JSON 小解

1       var  list1  =  [ 1 , 3 , 4 ];
2      alert(list1[ 1 ]);
3       var  list2  =  [{ " name " : " leamiko " , " xing " : " lin " }];
4      alert(list2[ 0 ][ " xing " ])
5      alert(list2[ 0 ].xing)

 

第二部分:

 

 1  var  value  =  {
 2           " china " :{
 3                   " hangzhou " :{ " item " : " 1 " },
 4                   " shanghai " :{ " item " : " 2 " },
 5                   " chengdu " :{ " item " : " 3 " }
 6          },
 7           " America " :{
 8                   " aa " :{ " item " : " 1 " },
 9                   " bb " :{ " item " : " 2 " }    
10          },
11           " Spain " :{
12                   " dd " :{ " item " : " 1 " },
13                   " ee " :{ " item " : " 2 " },
14                   " ff " :{ " item " : " 3 " }    
15          }
16      };
17  for ( var  countryObj  in  value)
18      {
19          document.write(countryObj  +   " :<br /> " )
20           // 没用的for(var cityObj in value.countryObj)
21           for ( var  cityObj  in  value[countryObj])
22          {
23              document.write( ' &nbsp;&nbsp;&nbsp;&nbsp; '   +  cityObj  +   " <br /> " );
24                   for ( var  itemObj  in  value[countryObj][cityObj])
25                  {
26                      document.write( " &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " +  itemObj  +  value[countryObj][cityObj][itemObj]  + " <br /> " )    
27                  }
28          }    
29      }   

 

解释:
    countryObj 为value对象的一个属性明
    value[countryObj] 为value对象的属性值 这里为一个json对象比如b
    value[countryObj][cityObj]为josn对象b的属性值 它也是一个json对象
    于是 value[countryObj][cityObj]["item"]便可以取到json对象暂时成为c的值
    或者 value[countryObj][cityObj].item
    
    总之分清是json还是array这是很关键的

 

 

第三部分:

 

 1  var  value2  =  {
 2               " china " :[
 3                      { " name " : " hangzhou " " item " : " 1 " },
 4                      { " name " : " shanghai " " item " : " 2 " },
 5                      { " name " : " sichuan " " item " : " 3 " }
 6              ],
 7               " America " :[
 8                      { " name " : " aa " " item " : " 12 " },
 9                      { " name " : " bb " " item " : " 2 " }
10              ],
11               " Spain " :[
12                      { " name " : " cc " " item " : " 1 " },
13                      { " name " : " dd " " item " : " 23 " },
14                      { " name " : " ee " " item " : " 3 " }
15              ]
16      };
17      
18       for  ( var  countryObj  in  value2)
19      {
20          document.write(countryObj  +   " :<br /> " )    
21           for  ( var  cityObj  in  value2[countryObj])
22          {
23                   // 可以用document.write("&nbsp;&nbsp;" + value2[countryObj][cityObj].item + "<br />");
24                  document.write(cityObj  +   " &nbsp;&nbsp; "   +  value2[countryObj][cityObj][ " name " +   " <br /> "  );    
25          }
26      }

 

解释:
    countryObj 为value2对象的属性名
    value2[countryObj] 为value2对象属性值 在本例中它是一个数组
    cityObj 是数组的一个元素,它又是另外一个json对象
    于是,value2[countryObj][cityObj]["name"]就访问到该对象的 name的属性值
    也可以通过 value2[countryObj][cityObj].name 来访问该属性值

 

 

第四部分:

 

 1  var  value2  =  {
 2               " china " :[
 3                      { " name " : " hangzhou " " item " : " 1 " },
 4                      { " name " : " shanghai " " item " : " 2 " },
 5                      { " name " : " sichuan " " item " : " 3 " }
 6              ],
 7               " America " :[
 8                      { " name " : " aa " " item " : " 12 " },
 9                      { " name " : " bb " " item " : " 2 " }
10              ],
11               " Spain " :[
12                      { " name " : " cc " " item " : " 1 " },
13                      { " name " : " dd " " item " : " 23 " },
14                      { " name " : " ee " " item " : " 3 " }
15              ]
16      };
17      
18       for  ( var  countryObj  in  value2)
19      {
20          document.write(countryObj  +   " :<br /> " )    
21           // document.write("&nbsp;&nbsp;" + value2[countryObj].length);
22           for  ( var  i  =   0 ;i  <  value2[countryObj].length; i ++ )
23          {
24              document.write( " &nbsp;&nbsp; "   +  value2[countryObj][i][ " name " +   " <br /> " );    
25          }
26      }

 

解释:
    countryObj value2对象的属性名
    value2[countryObj] 属性值 本例中是一个数组
    value2[countryObj].length 数组的长度.
    value2[countryObj][i]数组的项 == json对象
    
    value2[countryObj][i]["name"] 取得name的值
    也可以用value2[countryObj][i].name 来取得name的值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值