本人初入門徑。代碼和文章略顯粗糙,歡迎指點改正!
最近在看<json必知必會>這本書,自己看了這本書,但是很多知識點這本書上面也沒有說到。最近,在慕課網,騰訊課堂裏面也找了關於JSON的視頻,視頻多是幾年前的,所以很多東西還是沒有弄個明白,寫寫博客,權當複習之用。
1 JSON的定義:與XML一樣,JSON(JavaScript Object Native)也是一種數據交換格式,用於在不同平臺之間傳輸數據的文本格式(類似word文檔)。
2 語法:
(1)開始、結尾處都是花括號;
(2)以"key":"value"的形式出現,必須加上雙引號(單引號不行);
(3)數據類型有:字符串、數字、對象、null、布爾、數組;
(4)屬性之間以逗號隔開,最後一個屬性不加逗號;
(5)對象以花括號的形式包裹,對象中的值以逗號隔開;
(6)數組以方括號的形式包裹,數組中的值以逗號隔開;
(7)JSON裏面沒有註釋,(實在要加註釋,就用"key":"value"的形式)
{ "name":"zhangsan",
"age":29,
"school":{
"name":"Peking University",
"location":"Beijing"
},
"girlfriend":null,
"car":true,
"hobby":["basketball","soccer"]
}
3 對象和JSON文本之間的轉換:
(1)序列化:使用JSON.stringify()將JS對象轉化爲JSON文本,方便傳輸。類似運輸大型櫃子的時候,拆分爲小部件運輸;
JSON.stringify()方法:
1.1格式:JSON.stringify(value [, replacer] [, space])
1.2參數:
1--value 是要序列化的JS對象;
2--[,replacer] 可選的參數,可以是數組或函數;
是數組:僅轉換該數組中具有鍵值的成員,
是函數:點擊此鏈接查看 https://msdn.microsoft.com/zh- cn/subscriptions/cc836459.aspx
3--[,space] 向返回值 JSON 文本添加縮進、空格和換行符 以使其更易於讀取
(2)反序列化:使用JSON.parse()將JSON文本轉化爲JS對象。類似於,到達目的地的時候,把大型櫃子組裝起來,方便存儲東西。
JSON.parse()方法:
1 格式:JSON.parse(text [, reviver])
2 參數:
1--text 要被解析成JavaScript值的字符串,
2--reviver 可選,是一個函數,規定輸出的結果
就寫這麼多,下次再補上。2017.06.20 長沙