天天看點

區分 JS數組 和 JOSN對象

一,數組

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);

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

轉:http://www.cnblogs.com/linda586586/archive/2012/04/17/2454212.html

繼續閱讀