1. JSON的由來
在目前的開發(fā)中呆抑,JSON是一種非常重要的數(shù)據(jù)格式,它并不是編程語言汁展,而是一種可以在服務(wù)器和客戶端之間傳輸?shù)臄?shù)據(jù)格式鹊碍。
JSON的全稱是JavaScript Object Notation(JavaScript對象符號)
其他的傳輸格式:
- XML:在早期的網(wǎng)絡(luò)傳輸中主要是使用XML來進行數(shù)據(jù)交換的,但是這種格式在解析食绿、傳輸?shù)雀鞣矫娑既跤贘SON侈咕,所以目前已經(jīng)很
少在被使用了; - Protobuf:另外一個在網(wǎng)絡(luò)傳輸中目前已經(jīng)越來越多使用的傳輸格式是protobuf器紧,但是直到2021年的3.x版本才支持JavaScript耀销,所以目前在前端使用的較少;
JSON的使用場景
- 網(wǎng)絡(luò)數(shù)據(jù)的傳輸JSON數(shù)據(jù)铲汪;
- 項目的某些配置文件熊尉;
- 非關(guān)系型數(shù)據(jù)庫(NoSQL)將json作為存儲格式;
2. JSON基本語法
- 簡單值:數(shù)字(Number)掌腰、字符串(String狰住,不支持單引號)、布爾類型(Boolean)齿梁、null類型催植;
- 對象值:由key、value組成,key是字符串類型查邢,并且必須添加雙引號蔗崎,值可以是簡單值、對象值扰藕、數(shù)組值缓苛;
- 數(shù)組值:數(shù)組的值可以是簡單值、對象值邓深、數(shù)組值未桥;
3. JSON序列化
將JavaScript中的復(fù)雜類型轉(zhuǎn)化成JSON格式的字符串
- stringify方法:將JavaScript類型轉(zhuǎn)成對應(yīng)的JSON字符串;
- parse方法:解析JSON字符串芥备,轉(zhuǎn)回對應(yīng)的JavaScript類型冬耿;
4. stringify方法
Stringify的參數(shù)replace
如果指定了一個 replacer 函數(shù),則可以選擇性地替換值萌壳;
如果指定的 replacer 是數(shù)組亦镶,則可選擇性地僅包含數(shù)組指定的屬性;
如果對象本身包含toJSON方法袱瓮,那么會直接使用toJSON方法的結(jié)果:
5.parse方法
提供可選的 reviver 函數(shù)用以在返回之前對所得到的對象執(zhí)行變換(操作)缤骨。