JSON開發(fā)筆記(一)—— JSON基礎(chǔ)

1. 何為 JSON

JSON( JavaScript Object Notation ),即 JavaScript 對象表示法。JSON 主要用于存儲和交換文本信息,類似于XML。但是和 XML 相比,JSON 是更加輕量級的文本數(shù)據(jù)交換格式,具有更小、更快、更易解析的特點。JSON 具有自我描述性,更易理解。雖然 JSON 使用 JavaScript 語法來描述數(shù)據(jù)對象,但是,JSON 是獨立于語言和平臺的。JSON 解析器和 JSON 庫支持許多不同的編程語言。

2. JSON 基本語法

JSON 語法是 JavaScript 對象表示法語法的子集。具體內(nèi)容如下:

  • 數(shù)據(jù)在key/value對中存儲
  • 數(shù)據(jù)由逗號分隔
  • 花括號保存對象
  • 方括號保存數(shù)據(jù)

3. JSON值的類型

JSON的數(shù)據(jù)都在key/value對中存儲,其中,這個,可選類型如下:

  • 數(shù)字(整數(shù)或浮點數(shù)),例如:{ "number":12.34 }

  • 字符串(在雙引號中),例如:{ "name":"qiumengchen" }

  • 邏輯值(true 或 false),例如:{ "isOpen":true }

  • 數(shù)組(在中括號中),例如:{ "array":[1.2 , "3" , true , [4,5] , {"test":"ok"} , null] }

  • 對象(在大括號中),例如:{ "person":{"name":"qiumengchen","isHandsome":true} }

  • null,例如:{ "blog":null }

總體來說,JSON的完整表現(xiàn)形式有兩種:

  • JSON對象:以大括號({})為標(biāo)志,對象可以包含多個key/value對,注意:對象中的每一項都必須是key/value對,不能是其他形式。但是,其中的key必須是字符串,其中的value可以是合法的JSON數(shù)據(jù)類型包括:數(shù)字、字符串、邏輯值、數(shù)組、對象、null等。例如:
{ "name":"qiumengchen" , "isHandsome":true , "blog":{"url":"qiumengchen.top","name":"myBlog"} }
  • JSON數(shù)組:以中括號([])為標(biāo)志,數(shù)組可以包含多個value,value可以是合法的JSON數(shù)據(jù)類型包括:數(shù)字、字符串、邏輯值、數(shù)組、對象、null等。但是,一般來說,我們會保持?jǐn)?shù)據(jù)中每個項的形式和意義的一致性,方便理解和運用。例如:
[ 99 , "qiumengchen" , true , [1,2,3] , {"name":"qiumengchen"} , null ]

4. 與XML比較

與XML相同之處

  • JSON 是純文本
  • JSON 具有"自我描述性"(人類可讀)
  • JSON 具有層級結(jié)構(gòu)(值中存在值)
  • JSON 可通過 JavaScript 進(jìn)行解析
  • JSON 數(shù)據(jù)可使用 AJAX 進(jìn)行傳輸

與XML不同之處

  • 沒有結(jié)束標(biāo)簽
  • 更短
  • 讀寫的速度更快
  • 能夠使用內(nèi)建的 JavaScript eval() 方法進(jìn)行解析
  • 使用數(shù)組
  • 不使用保留字

5. 輔助工具

  • JSON在線解析工具(功能包括:JSON格式化、壓縮、驗證格式、JSON轉(zhuǎn)XML、CSV、YAML),地址如下:https://c.runoob.com/front-end/53
  • Chrome瀏覽器插件:JSON-handle
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,537評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,641評論 18 399
  • 短版: 圖片加上文字(0.5元) 專屬動漫角色(一個0.3元) 長版: 圖片加上文字(0.5元) 專屬動漫角色(一...
    蝶戀浮生閱讀 487評論 1 1
  • 風(fēng)卷狂云至,草木盡殘催。 漏傘何須補,孤僧獨自歸。 歸來日遲遲,眠思意垂垂。 夢醒黃粱熟,落日有余暉。
    陸醜閱讀 240評論 0 3
  • 問題引入 當(dāng)您看到我文章的時候,后來查到我的前端頁面和后端頁面的編碼都是GBK,而jQuery ajax提交時默認(rèn)...
    mizonn閱讀 1,366評論 0 0

友情鏈接更多精彩內(nèi)容