【JavaScript】JSON協(xié)議是什么?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
一 概述1.1 什么是 JSONJSON是JavaScript Object Notation的簡(jiǎn)稱,中文含義為“JavaScript 對(duì)象表示法”,它是一種數(shù)據(jù)交換的文本格式,而不是一種編程語(yǔ)言。 JSON 是一種輕量級(jí)的數(shù)據(jù)交換格式,它基于 ECMAScript (w3c制定的js規(guī)范)的一個(gè)子集,采用完全獨(dú)立于編程語(yǔ)言的文本格式來(lái)存儲(chǔ)和表示數(shù)據(jù)。簡(jiǎn)潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語(yǔ)言。 JSON之所以受歡迎,主要是因?yàn)樗匀皇褂?JavaScript 語(yǔ)法來(lái)描述數(shù)據(jù)對(duì)象,并沒(méi)有改變開(kāi)發(fā)人員的使用習(xí)慣,這更容易被開(kāi)發(fā)人員接受。由于這種相似性,JavaScript 程序就無(wú)需解析器,便可以直接用 JSON 數(shù)據(jù)來(lái)生成原生的 JavaScript 對(duì)象。 1.2 JSON 的特點(diǎn)JSON 主要具有以下特性,這些特性使它成為理想的數(shù)據(jù)交換語(yǔ)言:
類似于 XML 的特性:
相比 XML 的不同之處:
二 JSON語(yǔ)法在 JavaScript 語(yǔ)言中,一切皆對(duì)象。任何支持的類型,如字符串、數(shù)值、對(duì)象、數(shù)組等,都可以通過(guò) JSON 來(lái)表示。 JSON 語(yǔ)法是 JavaScript 對(duì)象表示法的子集:
2.1 JSON 鍵/值對(duì)JSON鍵/值對(duì)由鍵和值組成,鍵必須是字符串,值可以是字符串(string)、數(shù)值(number) 、對(duì)象(object)、數(shù)組(array)、true、false、 null。如圖所示: 在定義JSON鍵/值時(shí),先是鍵名,后面寫(xiě)一個(gè)冒號(hào),然后是值。如: "github": "https://github.com/leiqikui" 這就等價(jià)于這條 JavaScript 語(yǔ)句: github = "https://github.com/leiqikui" 2.2 JSON 字符串JSON 的字符串(string)跟C或者Java的字符串非常相似,是由雙引號(hào)包圍的任意數(shù)量Unicode字符的集合,使用反斜線轉(zhuǎn)義。如圖所示: 由于JSON 字符串不能使用單引號(hào),因此一個(gè)字符(character)就是一個(gè)單獨(dú)的字符串(character string)。 2.3 JSON 數(shù)值JSON 數(shù)值(number)與C或者Java的數(shù)值非常相似,支持整型、浮點(diǎn)型,浮點(diǎn)型也可以用指數(shù)表示。如圖所示: JSON不支持八進(jìn)制和十六進(jìn)制, 數(shù)值必須以十進(jìn)制表示,且不能使用NaN和Infinity。以下是合法的JSON數(shù)值: { "age": 30 } 2.4 JSON 對(duì)象JSON 對(duì)象是一個(gè)無(wú)序的key/value對(duì)的集合。一個(gè)對(duì)象以 '{' 開(kāi)始,以 '}' 結(jié)束;每個(gè)key 和 value 中使用冒號(hào)分隔;每個(gè) key/value 對(duì)之間使用逗號(hào)分隔。如圖 14所示: JSON 對(duì)象語(yǔ)法:
2.5 JSON 數(shù)組數(shù)組是值(value)的有序集合。一個(gè)數(shù)組以“[”(左中括號(hào))開(kāi)始,“]”(右中括號(hào))結(jié)束。值之間使用“,”(逗號(hào))分隔。如圖 15所示: JSON 數(shù)組:
2.6 JSON 布爾值JSON 布爾值可以是 true 或者 false。如: { "flag":true } 2.7 JSON nullJSON 可以設(shè)置 null 值。如: { "zhihu":null } 2.8 JSON 文件JSON 文件的文件類型是 ".json" JSON 文本的 MIME 類型是 "application/json" 三 JSON協(xié)議組件的使用1 Gitee鏈接地址組件位于amaziot_bloom_os_sdk\libraries\am\xtu\am_json.c Gitee源碼地址: Github源碼地址: 該文章在 2025/6/16 9:15:00 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |