zoukankan      html  css  js  c++  java
  • 遍历JSON 小解

    第一部分:

    View Code
    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的值
     


  • 相关阅读:
    关于前台日期转换和比较大小以及今天前三天日期
    20180409和四岁淘淘探讨死亡
    [转载]谷歌浏览器Chrome下载文件时文件名乱码问题
    [转载]美国科学在线版
    [转载]学习资料-科学类
    小班的淘淘
    Spring Security构建Rest服务-0702-个性化用户认证流程2
    Spring Security构建Rest服务-0701-个性化用户认证流程
    Spring Security构建Rest服务-0700-SpringSecurity开发基于表单的认证
    Spring Security构建Rest服务-0600-SpringSecurity基本原理
  • 原文地址:https://www.cnblogs.com/leamiko/p/1997982.html
Copyright © 2011-2022 走看看