第一部分:

     var list1 = [,,];
     alert(list1[]);
     var list2 = [{"name":"leamiko","xing":"lin"}];
     alert(list2[]["xing"])
     alert(list2[].xing)

第二部分:


 1 var value = {
 2         "china":{
 3                 "hangzhou":{"item":""},
 4                 "shanghai":{"item":""},
 5                 "chengdu":{"item":""}
 6         },
 7         "America":{
 8                 "aa":{"item":""},
 9                 "bb":{"item":""}    
         },
         "Spain":{
                 "dd":{"item":""},
                 "ee":{"item":""},
                 "ff":{"item":""}    
         }
     };
 for(var countryObj in value)
     {
         document.write(countryObj + ":<br />")
         //没用的for(var cityObj in value.countryObj)
         for(var cityObj in value[countryObj])
         {
             document.write('&nbsp;&nbsp;&nbsp;&nbsp;' + cityObj + "<br />");
                 for(var itemObj in value[countryObj][cityObj])
                 {
                     document.write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+ itemObj + value[countryObj][cityObj][itemObj] +"<br />")    
                 }
         }    
     }   
解释:
    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":""},
 4                     {"name":"shanghai", "item":""},
 5                     {"name":"sichuan", "item":""}
 6             ],
 7             "America":[
 8                     {"name":"aa", "item":""},
 9                     {"name":"bb", "item":""}
             ],
             "Spain":[
                     {"name":"cc", "item":""},
                     {"name":"dd", "item":""},
                     {"name":"ee", "item":""}
             ]
     };
     
     for (var countryObj in value2)
     {
         document.write(countryObj + ":<br />")    
         for (var cityObj in value2[countryObj])
         {
                 //可以用document.write("&nbsp;&nbsp;" + value2[countryObj][cityObj].item + "<br />");
                 document.write(cityObj + "&nbsp;&nbsp;" + value2[countryObj][cityObj]["name"] + "<br />" );    
         }
     }
解释:
    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":""},
 4                     {"name":"shanghai", "item":""},
 5                     {"name":"sichuan", "item":""}
 6             ],
 7             "America":[
 8                     {"name":"aa", "item":""},
 9                     {"name":"bb", "item":""}
             ],
             "Spain":[
                     {"name":"cc", "item":""},
                     {"name":"dd", "item":""},
                     {"name":"ee", "item":""}
             ]
     };
     
     for (var countryObj in value2)
     {
         document.write(countryObj + ":<br />")    
         //document.write("&nbsp;&nbsp;" + value2[countryObj].length);
         for (var i = ;i < value2[countryObj].length; i++)
         {
             document.write("&nbsp;&nbsp;" + value2[countryObj][i]["name"] + "<br />");    
         }
     }
解释:
    countryObj value2对象的属性名
    value2[countryObj] 属性值 本例中是一个数组
    value2[countryObj].length 数组的长度.
    value2[countryObj][i]数组的项 == json对象
    
    value2[countryObj][i]["name"] 取得name的值
    也可以用value2[countryObj][i].name 来取得name的值

关于JS解析编历JSON数组(含多维数组)的更多相关文章

  1. JS中:数组和二维数组、MAP、Set和枚举的使用

    1.数组和二维数组:   方法一: var names = ['Michael', 'Bob', 'Tracy']; names[0];// 'Michael' 方法二: var mycars=new ...

  2. JS一维数组、多维数组和对象的混合使用

    转载地址:http://blog.csdn.net/wangyuchun_799/article/details/38460515 引言 这篇文章的主要目的是讲解JavaScript数组和对象的混合使 ...

  3. js一维数组转换为二维数组

    function arrTrans(num, arr) { // 一维数组转换为二维数组 const iconsArr = []; // 声明数组 arr.forEach((item, index) ...

  4. 【Java学习笔记之八】java二维数组及其多维数组的内存应用拓展延伸

    多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在 ...

  5. Java数组之二维数组

    Java中除了一维数组外,还有二维数组,三维数组等多维数组.本文以介绍二维数组来了解多维数组. 1.二维数组的基础 二维数组的定义:二维数组就是数组的数组,数组里的元素也是数组. 二维数组表示行列二维 ...

  6. 【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸

    多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在 ...

  7. C#的一维数组和二维数组定义方式:

    一维数组: //一维数组定义与初始化 ,, };//第一种方式 , , }; //第二种方式 int[] one3; //第三种方式 one3=,,}; 二维数组: //二维数组定义与初始化 //不规 ...

  8. C#中的数组,多维数组和交错数组

    想研究一些面向对象的东西,也许是代码写得还不够多.感觉还不好,看那些教程,不是嫌太水就是太难看不懂.心情很是落寞 不过再怎样也要坚持每天发一篇博客. 这篇来说一下C#中的数组,多维数组,交错数组的一些 ...

  9. js-二维数组和多维数组

    一.二维数组的表示 myarray[][] 二.二维数组的定义 方法一: var a = new Array(); for(var i=0;i<3;i++){ //一维长度为3 a[i] = n ...

随机推荐

  1. 蓝桥杯 第三届C/C++预赛真题(6) 大数乘法(数学题)

    对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现 ...

  2. 第5步:建立主机间的信任关系(sgdb1、sgdb2)

    5.1 Oracle用户下建立信任 5.11创建.ssh目录 [root@sgdb1 /]# su - oracle [oracle@sgdb1 ~]$ mkdir .ssh       创建一个.s ...

  3. 在ChemDraw中输入千分号的方法

    很多的用户都会使用ChemDraw化学绘图工具来绘制一些化学反应的过程,但是一些化合物中有些元素所占的比例是非常小的,这个时候往往就需要千分号来显示比例.但是在ChemDraw的工具栏上只有百分号没有 ...

  4. gcc/g++ 实战之编译的四个过程

    gcc和g++分别是GNU(一个开源组织)的c&c++编译器   对于.c后缀的文件,gcc把它当做是C程序,g++当做是C++程序:对于.cpp后缀的文件,gcc和g++都会当做c++程序. ...

  5. Unittest框架概念

    1.测试脚手架(test fixture): 测试准备前要做的工作和测试执行完后要做的工作(包括setUp()和tearDown()) 2.测试用例(test case): 最小的测试单元 3.测试套 ...

  6. MAMP下配置虚拟主机域名

    第一步:修改虚拟主机地址: /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf 第二步:

  7. 机房收费系统(VB.NET)——超具体的报表制作过程

    之前做机房收费系统用的报表是Grid++Report,这次VB.NET重构中用到了VisualStudio自带的报表控件. 刚開始当然对这块功能非常不熟悉,只是探究了一段时间后还是把它做出来了. 以下 ...

  8. Pycharm 2017 12月最新激活码

    激活的办法:这个必须的联网才可以使用(每次打开PyCharm都需要电脑联网才可以正常使用),要是没网的话,就不能激活使用啦,大家注意哈. http://idea.iteblog.com/key.php ...

  9. sql的case when then else end 的语法实现列转行

    SELECT * FROM test5 ; RESOURCES DATETIME CNT ID1 0 2018-01-22 4 12 0 2018-01-24 10 23 0 2018-01-25 2 ...

  10. mysql 获取id最大值

    数据库表中id列不为自动增加,需要程序来增加id的SQL SELECTCASE IFNULL(MAX(id),1)WHEN 1 THEN 1ELSE MAX(id) + 1END AS newmaxi ...