?才畢業的開發小白,最近在使用node、php和vue,有興趣的小伙伴可以加群 134246716,大家一起學習,這是一個新建群,有興趣的初學者可以來一起學習哦。
JSON基本語法
JSON 的語法可以表示以下三種類型的值。
- 簡單值: 可以在 JSON 中表示 字符串、 數值、布爾值 和 null。但是不支持 Javascript 中的 undefined。
- 對象: 是一種復雜數據類型,由一組無序的 鍵值對 組成,每個鍵值對的 值 可以是簡單值,也可以是復雜數據類型。
- 數組: 也是一種復雜的數據類型,表示一組有序的列表,可以通過數組索引來訪問其中的值。數組的 值 也可以是任意類型—— 簡單值、對象 或是 數組。
簡單值
最簡單的 JSON 數據形式就是簡單值。比如,
- 數值的表示方式:
5
- 字符串的的方式:
"Hello World!"
JavaScript 字符串和JSON 字符串的最大區別在于,JSON 字符串必須使用 雙引號。
- 布爾值:
false
true
- null 值
null
對象
先來看一個標準的 JavaScript 對象字面量:
var person = {
name: "Nicolas",
age: 29
};
但 JSON 表示對象如下所示:
{
"name": "Nicolas",
"age": 29
}
JSON 要求必須給對象的屬性加引號。實際上,在 JavaScript 中,對象字面量完全可以寫成下面
var person = {
"name": "Nicolas",
"age": 29
};
這里可以看出,JSON對象有兩個不一樣的地方:
- 沒有聲明變量;
- 末尾沒有分號。
屬性的值可以是簡單值,也可以是復雜類型值,如下例子:
{
"name": "Nicolas",
"age": 29,
"school": {
"name": "Merrimack College",
"location": "North Andover, MA"
}
}
上述例子中雖然有兩個 "name" 屬性,但是它們分屬于兩個不同的對象,是可以的。同一個對象不應該出現兩個同名屬性。
數組
JSON 中第二種復雜數據類型就是數組。數組可以是簡單值組成,如
[25, "hi", true]
也可以是各種類型值得組合:
[
{
"title": "Professional JavaScript",
"authors": {
"name": "Nicholas C. Zakas",
"age": 51
},
"editon": 3,
"year": 2011
},
{
"title": "Professional JavaScript",
"authors": [
"Nicholas C. Zakas"
],
"editon": 2,
"year": 2009
},
{
"title": "Professional JavaScript",
"authors": [
"Nicholas C. Zakas"
],
"editon": 1,
"year": 2006
},
{
"title": "Professional Ajax",
"authors": [
"Nicholas C. Zakas",
"Jeremy McPeak",
"Joe Fawcett"
],
"editon": 2,
"year": 2008
},
{
"title": "Professional Ajax",
"authors": [
{
"name": "Nicholas C. Zakas",
"age": 35
},
{
"name": "Jeremy McPeak",
"age": 37
},
{
"name": "Joe Fawcett",
"age": 41
}
],
"editon": 1,
"year": 2007
}
]