js配列はどうやってjsonデータとjs配列とjsonの違いを追加しますか?

2824 ワード

JSON(JavaScript Object Notation)はライト級のデータ交換フォーマットで、言語とは完全に独立したテキスト形式を採用しています.JSONはJavaScript元のデータフォーマットです.
js配列にjsonデータを追加する2つの方法を紹介します.
//第一の方法

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.1次元配列を定義する:var s 1=new Aray();
                       s 1=[1,2,3,4]またはs 1[0]=1,s 1[1]=2,s 1[3]=3,s 1[4]=4;                      alert(s 1[0])
                       結果は1です
   2,2次元素体セットを定義する:var s 1=new Aray()
                               var s 1=[[3,1],[2,3,4],3,[4,5,6,7,8]]                                 alert(s 1[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 uprocess+")));
         結論:バックグラウンドからフロントに入ったのは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);
  結局は「アイドル期間」です.