首頁>Club>
9
回覆列表
  • 1 # 使用者3648390362

    JSON(JavaScript Object Notation )是一種輕量級的資料交換格式,採用完全獨立於語言的文字格式,JSON是JavaScript原生資料格式。

    下面給大家介紹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);

    結果都為:'空閒閒置期'

  • 中秋節和大豐收的關聯?
  • 兩性道德準則是什麼?