首頁 > web前端 > js教程 > js數組如何加入json資料及js數組與json的區別_javascript技巧

js數組如何加入json資料及js數組與json的區別_javascript技巧

WBOY
發布: 2016-05-16 15:34:46
原創
2068 人瀏覽過

 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[2,3,4]或s1[0]=1,s1[1]=2,s1[3]=3,s1[4]                       alert(s1[0]);

                       且為1;

   2,,定義二維素群:var s1=new Array();


                               var s1=[[3,1],[2,3,4]5,7485,740,80,380,38,3,4];                                 且為 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);
登入後複製
  結果皆為:『閒置期』
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板