中国最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2

json教程

  • 关于 JSON
  • JSON 教程

    json格式

    JSON解析

    JSON遍历

    JSON调用

    JSON转换

    JSON获取

    JSON字符串

    JSON数组

    直接在JS里创建JSON数据然后遍历使用

    阅读 (2057)

    直接在JS里创建JSON数据,然后遍历使用~
    创建代码如下:(创建的是JSON对象)

    var YearSelect = {}; 
    var Year = 2014; 
    var DateOption; 
    for (var i = Year; i < Year + 12; i++) { 
    DateOption = {'Year':i, 'Month':i-Year+1}; 
    / alert(DateOption.Year) 
    YearSelect[i] = DateOption; 
    }

    这里是创建一个JSON对象,包括了年份和月份的数据。
    我为什么创建JSON对象,是因为我对JSON对象比较熟悉。php后台返回的也是json对象。
    json对象没有length属性~~
    所以遍历的话要:

    for(var key in YearSelect){ 
    alert(YearSelect[key].Year); 
    alert(YearSelect[key].Month); 
    }

    这样就可以了~
    记住一定要分辨好json的对象和数组~不然就一直是undenfined


    js数组如何添加json数据及js数组与json的区别

    下面给大家介绍js数组添加json数据的两种方式。
    // 第一种方式

    personInfo
    : [],
    for(var i = 0; i < _STAGE.passengerInfoArray.length; i++){
    var name = _STAGE.passengerInfoArray[i];
    var person = {v:name, text:name};
    this.personInfo.push(person);
    }
    

    // 第二种方式
    var passengerInfo = {};
    passengerInfo.psgTypeDesc = psgTypeDesc;
    passengerInfo.flightPrice = flightPrice;
    _STAGE.passengerInfoArray.push(passengerInfo);
    

    js数组与 json 的区别


    一、数组

    1. 定义一维数组:var s1=new Array();
                          s1=[1,2,3,4]或者s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;
                          alert(s1[0]);
                          结果为1;

    2. 定义二维素组:var s1=new Array();
                          var s1=[[3,1],[2,3,4],3,[4,5,6,7,8]];
                          alert(s1[1][0]);
                          结果为2;

    二、定义json对象
        

    1. json对象       

    var status_process = {
        " name5" : '闲置期',
        "name1" : '播种期',
        "name2" : '苗期',
        "name3" : '生长期',
        "name4" : '采收期'
       }    
      alert(status_process);

    结果为:Object:Object;


    2. json字符串

    所谓json字符串,是指该字符串变量的值与json的格式相同,但是不是json对象,比如:

    var s1="{";
    var s2 = " 'name5' : '闲置期',  'name1' : '播种期','name2' : '苗期','name3' : '生长期','name4' : '采收期'";
    var s3="}";
    var status_process=s1+s2 +s3;

    虽然status_process的值符合json对象的格式,但是它不是对象,只是一个字符串(是拼凑出来的);    

    将字符串转换为json对象使用函数eval,eval("(" + status_process+ ")");

    结论:从后台传入到前台的是json字符串,不是真正的json对象,因此需要使用eval函数转换。
      

    3. json对象的使用       

    var status_process = {
          name5 : '闲置期',
         name1 : '播种期',
         name2 : '苗期',
          name3 : '生长期',
          name4 : '采收期'
         };
         alert(status_process["name5"]);
         alert(status_process.name5);
    两个都为:闲置期
      

    4. json二维对象       

    var status_process = {
     name5 : {name3:'空闲闲置期'},
     name1 : '播种期',
     name2 : '苗期',
     name3 : '生长期',
     name4 : '采收期'
    };
    alert(status_process["name5"]["name3"]);
    alert(status_process.name5.name3);

    结果都为:'空闲闲置期'

    关闭
    程序员人生