JSON 字串中的中括號和大括號區別詳解

FreePress發表於2016-10-12

json 變數有兩種可能, 可能是一個物件, (類似 類的例項), 也可能是一個陣列!!

主要是要 從 ""語義" 上來分析, 到底該用 大括號還是用中括號: 如果從語義上來說, 你是要描述的一個 物件, (裡面是這個物件的 屬性/ 函式!!) 那麼用大括號, 表示物件; 如果你要描述的東西 是多個並列的 值, 那麼用 陣列 用中括號的 方式!!!

大括號{} 表示對像, 用 點號 來引用 物件的 屬性/或函式 (函式後面要加小括號)... 中括號[] 表示陣列, 用['下標']的方式來引用. 即使是混合式的資料結構, 也是同樣的道理.

json的資料, 都是用 雙引號, 不管是key, 還是 value, 都要用 雙引號 表示....

如:var kzwr= {"url":"www.kzwr.com","name":"酷站網軟"};

上面宣告瞭一個名為“kzwr”的物件,屬性名和值用(冒號)隔開,多個屬性或函式用,(逗號)隔開,因為是物件的屬性,

所以訪問時,應該用.(點)來層層訪問:kzwr.url、kzwr.name,當然我們也可以用陣列的方式來訪問,如:kzwr["url"]、kzwr["name"],結果是一樣的。

該寫法,在JSON資料結構中經常用,除此之外,我們平時寫函式組的時候,也經常用到,如:

var kzwr= {
Name = function(){
return "kzwr";
},

     Age = function(){
return "28";
}
}

呼叫方式差不多,因為是函式組,所以要加上(),如:alert( LangShen.Name() );

二、[ ]中括號,表示一個陣列,也可以理解為一個陣列物件。

如:var kzwr= [ "Name","www.kzwr.com","AGE","22" ];

很明顯,每個值或函式,都是獨立的,多個值之間只用,(逗號)隔開,因為是陣列物件,所以它等於:

var kzwr= Array( "Name","www.kzwr.com","AGE","22" );

訪問時,也是和陣列一樣,alert( kzwr[0] );

三、{ } 和[ ] 一起使用,我們前面說到,{ } 是一個物件,[ ] 是一個陣列,我們可以組成一個物件陣列,如:

var kzwr= { "Name":"www.kzwr.com",
"MyWife":[ "LuLu","22" ],
"MySon":[{"Name":"Son1"},{"Name":"Son2"},{"Name":"Son3"}]
}

從上面的結構來看,是一個物件裡面的第一項是個屬性,第二項是一個陣列,第三個是包含有多個物件的陣列。呼叫起來,也是一層一層訪問,物件的屬性用.(點)疊加,陣列用 [下標] 來訪問。

如:alert( kzwr.MySon[1].Name ) ;

相關文章