jsonデータをjs配列に追加する方法とjs配列とjson_javascriptスキルの違い

WBOY
リリース: 2016-05-16 15:34:46
オリジナル
2050 人が閲覧しました

JSON (JavaScript Object Notation) は、完全に言語に依存しないテキスト形式を使用する軽量のデータ交換形式です。JSON は JavaScript ネイティブ データ形式です。

以下では、json データを js 配列に追加する 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);
}

ログイン後にコピー

// 2 番目の方法

var passengerInfo = {};
passengerInfo.psgTypeDesc = psgTypeDesc;
passengerInfo.flightPrice = flightPrice;
_STAGE.passengerInfoArray.push(passengerInfo);
ログイン後にコピー

js 配列と json の違い

1、配列

1. 1 次元配列を定義します: var s1=new Array();

s1=[1,2,3,4] または s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;
アラート(s1[0]);

結果は 1 です

2. 2 次元要素グループを定義します: var s1=new Array();

var s1=[[3,1],[2,3,4],3,[4,5,6,7,8]];
アラート(s1[1][0]);

結果は 2 です

2. json オブジェクトを定義します

1、json オブジェクト

 var status_process = {
       " name5" : '闲置期',
     "name1" : '播种期',
     "name2" : '苗期',
     "name3" : '生长期',
     "name4" : '采收期'
    }    
   alert(status_process);
ログイン後にコピー

結果は次のようになります: オブジェクト:オブジェクト;

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 オブジェクトの形式に準拠していますが、これはオブジェクトではなく、単なる文字列 (結合されたもの) です。

関数 eval, eval("(" status_process ")") を使用して文字列を JSON オブジェクトに変換します。

結論: バックグラウンドからフォアグラウンドに渡されるのは、実際の 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);
ログイン後にコピー
結果は次のとおりです: 'Idle アイドル期間'

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート