1. 何為 JSON
JSON(JavaScript Object Notation)抒倚,即 JavaScript 對(duì)象表示法趴梢。JSON 主要用于存儲(chǔ)和交換文本信息,類似于XML斋扰。但是和 XML 相比谴仙,JSON 是更加輕量級(jí)的文本數(shù)據(jù)交換格式,具有更小默伍、更快欢嘿、更易解析的特點(diǎn)衰琐。JSON 具有自我描述性,更易理解炼蹦。雖然 JSON 使用 JavaScript 語(yǔ)法來(lái)描述數(shù)據(jù)對(duì)象羡宙,但是,JSON 是獨(dú)立于語(yǔ)言和平臺(tái)的掐隐。JSON 解析器和 JSON 庫(kù)支持許多不同的編程語(yǔ)言狗热。
2. JSON 基本語(yǔ)法
JSON 語(yǔ)法是 JavaScript 對(duì)象表示法語(yǔ)法的子集。具體內(nèi)容如下:
數(shù)據(jù)在key/value對(duì)中存儲(chǔ)
數(shù)據(jù)由逗號(hào)分隔
花括號(hào)保存對(duì)象
方括號(hào)保存數(shù)據(jù)
3. JSON值的類型
JSON的數(shù)據(jù)都在key/value對(duì)中存儲(chǔ)虑省,其中匿刮,這個(gè)值,可選類型如下:
數(shù)字(整數(shù)或浮點(diǎn)數(shù))慷妙,例如:{ "number":12.34 }
字符串(在雙引號(hào)中)僻焚,例如:{ "name":"qiumengchen" }
邏輯值(true 或 false),例如:{ "isOpen":true }
數(shù)組(在中括號(hào)中)膝擂,例如:{ "array":[1.2 , "3" , true , [4,5] , {"test":"ok"} , null] }
對(duì)象(在大括號(hào)中)虑啤,例如:{ "person":{"name":"qiumengchen","isHandsome":true} }
null,例如:{ "blog":null }
總體來(lái)說(shuō)架馋,JSON的完整表現(xiàn)形式有兩種:
JSON對(duì)象:以大括號(hào)({})為標(biāo)志狞山,對(duì)象可以包含多個(gè)key/value對(duì),注意:對(duì)象中的每一項(xiàng)都必須是key/value對(duì)叉寂,不能是其他形式萍启。但是,其中的key必須是字符串屏鳍,其中的value可以是合法的JSON數(shù)據(jù)類型包括:數(shù)字勘纯、字符串、邏輯值钓瞭、數(shù)組驳遵、對(duì)象、null等山涡。例如:
{"name":"qiumengchen","isHandsome":true,"blog":{"url":"qiumengchen.top","name":"myBlog"} }
JSON數(shù)組:以中括號(hào)([])為標(biāo)志堤结,數(shù)組可以包含多個(gè)value,value可以是合法的JSON數(shù)據(jù)類型包括:數(shù)字鸭丛、字符串竞穷、邏輯值、數(shù)組鳞溉、對(duì)象瘾带、null等。但是熟菲,一般來(lái)說(shuō)月弛,我們會(huì)保持?jǐn)?shù)據(jù)中每個(gè)項(xiàng)的形式和意義的一致性肴盏,方便理解和運(yùn)用。例如:
[99,"qiumengchen",true, [1,2,3] , {"name":"qiumengchen"} ,null]
4. 與XML比較
與XML相同之處
JSON 是純文本
JSON 具有"自我描述性"(人類可讀)
JSON 具有層級(jí)結(jié)構(gòu)(值中存在值)
JSON 可通過(guò) JavaScript 進(jìn)行解析
JSON 數(shù)據(jù)可使用 AJAX 進(jìn)行傳輸
與XML不同之處
沒(méi)有結(jié)束標(biāo)簽
更短
讀寫的速度更快
能夠使用內(nèi)建的 JavaScript eval() 方法進(jìn)行解析
使用數(shù)組
不使用保留字
5. 輔助工具
JSON在線解析工具(功能包括:JSON格式化帽衙、壓縮菜皂、驗(yàn)證格式、JSON轉(zhuǎn)XML厉萝、CSV恍飘、YAML),地址如下:https://c.runoob.com/front-end/53
Chrome瀏覽器插件:JSON-handle
作者:秋夢(mèng)塵
鏈接:http://www.reibang.com/p/9afa65b49e49
來(lái)源:簡(jiǎn)書
著作權(quán)歸作者所有谴垫。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)章母,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。