最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

JSON:讓數(shù)據(jù)傳輸更優(yōu)雅

2023-08-04 09:39 作者:千鋒前端  | 我要投稿

在東南亞海灘的陽(yáng)光下,時(shí)而有一些貝殼、手工藝品等迷人的商品吸引著你。然而,語(yǔ)言的障礙有時(shí)會(huì)成為購(gòu)買商品的阻礙。不得不用手比劃以及嘗試各種辦法來(lái)進(jìn)行交流。幸運(yùn)的是,人們找到原始溝通的技巧,讓彼此都能接受的信息交流方式:在沙灘上用腳畫數(shù)字。

商家在沙灘上細(xì)心繪制商品的價(jià)格,游客仔細(xì)觀察,并以圖形的方式表達(dá)自己的意愿。如果商家同意,他會(huì)點(diǎn)頭或用手勢(shì)表示接受;如果不同意,他會(huì)擦掉所畫的數(shù)字,并用新的數(shù)字來(lái)表示自己的心理價(jià)位。通過(guò)幾輪互動(dòng),雙方逐漸接近對(duì)價(jià)格的共識(shí),最終達(dá)成交易,這一切既有趣又高效。

在編程中,前后端為了確保雙方能夠順利傳遞信息,需要約定一種信息交換的方式。其中JSON作為一種輕量級(jí)、易讀寫的數(shù)據(jù)格式,就像在沙灘上畫數(shù)字一樣,成為了前后端信息交互的默契方式。通過(guò)約定好的JSON數(shù)據(jù)結(jié)構(gòu),請(qǐng)求和響應(yīng)雙方能夠更加高效地交換信息,實(shí)現(xiàn)信息的無(wú)縫傳遞。

那么,JSON就是信息交換所使用的的一種數(shù)據(jù)格式。

常見(jiàn)的數(shù)據(jù)交互的格式

常見(jiàn)的數(shù)據(jù)交互格式包括純文本、XML、JSON等不同結(jié)構(gòu),讓我們分別來(lái)看一下它們之間的區(qū)別。

1.? 純文本格式

????●?豎線分割的(姓名|性別|地址|年齡|手機(jī)號(hào))

? ? ●?逗號(hào)分割的(姓名,性別,地址,年齡,手機(jī)號(hào))

2.? XML格式

3.? JSON格式

各種格式的對(duì)比

1.? 文本格式

??? a. ?優(yōu)點(diǎn):內(nèi)容簡(jiǎn)潔,傳輸數(shù)據(jù)量少

??? b. ?缺點(diǎn)1:無(wú)法適應(yīng)復(fù)雜的業(yè)務(wù)變化,例如后端將電話與年齡調(diào)換位置,前端如果不調(diào)整數(shù)據(jù)就會(huì)錯(cuò)亂

??? c. ?缺點(diǎn)2:不支持有層級(jí)結(jié)構(gòu)的,層級(jí)結(jié)構(gòu)下面會(huì)展開(kāi)講解

?? ?d. ?缺點(diǎn)3:如果數(shù)據(jù)中包含豎線,解析時(shí)就會(huì)出現(xiàn)數(shù)據(jù)錯(cuò)亂,例如“張三|男|沙陽(yáng)路18號(hào)北京科技職業(yè)學(xué)院內(nèi)|23|13333335555”中的地址信息改為“張三|男|沙陽(yáng)路18號(hào)北京科技職業(yè)學(xué)院內(nèi)-服務(wù)樓2|3|4層|23|13333335555”,解析時(shí)就會(huì)多出來(lái)很多個(gè)字段

2.? xml格式

??? a. ?優(yōu)點(diǎn)1:格式清晰,順序可調(diào)整,后端新增項(xiàng)也不影響前端

??? b. ?優(yōu)點(diǎn)2:支持層級(jí)結(jié)構(gòu)

??? c. ?優(yōu)點(diǎn)3:數(shù)據(jù)內(nèi)容與標(biāo)簽相同時(shí)可進(jìn)行轉(zhuǎn)義

? ? d. ?缺點(diǎn)1:數(shù)據(jù)傳輸量大,是文本的好幾倍,屬性描述字段需要有開(kāi)始和結(jié)束標(biāo)簽,例如:“<name>張三</name>”

3.? json格式

??? a. ?優(yōu)點(diǎn)1:格式清晰,順序可調(diào)整,后端新增項(xiàng)不會(huì)影響影響前端

??? b. ?優(yōu)點(diǎn)2:支持層級(jí)結(jié)構(gòu)(后面展開(kāi)說(shuō))

??? c. ?優(yōu)點(diǎn)3:數(shù)據(jù)內(nèi)容與標(biāo)簽相同時(shí)可進(jìn)行轉(zhuǎn)義

??? d. ?優(yōu)點(diǎn)4:數(shù)據(jù)傳輸量適當(dāng),屬性描述字段不需要有閉合標(biāo)簽,例如:“name:"張三"”

展開(kāi)說(shuō)說(shuō)JSON?

JSON,即JavaScript Object Notation,直譯是js對(duì)象標(biāo)記。是一種輕量級(jí)的數(shù)據(jù)交換格式,它由鍵值對(duì)組成,用于表示結(jié)構(gòu)化的數(shù)據(jù)

既然咱們展開(kāi)說(shuō)就說(shuō)的直白一點(diǎn),JSON的是由js當(dāng)中的對(duì)象數(shù)據(jù)類型演化而來(lái),用于描述某種對(duì)象的屬性和值的,并且具有上級(jí)結(jié)構(gòu),為了方便傳輸,把這種數(shù)據(jù)改造為字符串,誒,這不就來(lái)了嗎,js對(duì)象數(shù)據(jù)類型如下:

但,這是js的對(duì)象數(shù)據(jù)類型,數(shù)據(jù)類型本質(zhì)是內(nèi)存中存儲(chǔ)數(shù)據(jù)的方式,我們不可能把內(nèi)存?zhèn)鬏斀o后臺(tái)。

不能傳輸內(nèi)存,那就轉(zhuǎn)為字符串傳遞唄,按照對(duì)象數(shù)據(jù)類型的這個(gè)結(jié)構(gòu),變?yōu)樽址袷降?,這多清晰明了,數(shù)據(jù)量也不是很大,又能很好兼顧層級(jí)結(jié)構(gòu)(省市縣const addr),說(shuō)干就干,于是我們轉(zhuǎn)為下面這個(gè)樣子:

JSON的組成

????●?大括號(hào) {}:用于表示對(duì)象的開(kāi)始和結(jié)束,對(duì)象是由一組無(wú)序的鍵值對(duì)組成的。
????●?方括號(hào) []:用于表示數(shù)組的開(kāi)始和結(jié)束,數(shù)組是由一組有序的值組成的。??
????●?冒號(hào) ::用于分隔鍵和值,將鍵與對(duì)應(yīng)的值關(guān)聯(lián)在一起。
????●?逗號(hào) ,:用于分隔數(shù)組或?qū)ο笾械牟煌I值對(duì)或值,將它們分開(kāi)。
????●?雙引號(hào) " 或單引號(hào) ':用于包圍字符串,表示字符串的開(kāi)始和結(jié)束。
????●?反斜杠 \:用于轉(zhuǎn)義特殊字符,確保特殊字符的正確解析。

寫到最后:JSON的優(yōu)雅之處

????●?數(shù)據(jù)體積JSON通常比XML更小巧。由于JSON采用了簡(jiǎn)潔的語(yǔ)法,不需要像XML那樣添加大量的標(biāo)簽和屬性,因此JSON的數(shù)據(jù)體積相對(duì)較小。這使得JSON在網(wǎng)絡(luò)傳輸中消耗的帶寬更少,有利于提高數(shù)據(jù)傳輸?shù)男省?/p>

????●?語(yǔ)法復(fù)雜性:相比較而言,XML的語(yǔ)法相對(duì)復(fù)雜一些。XML需要使用起始標(biāo)簽和結(jié)束標(biāo)簽來(lái)包裹數(shù)據(jù),而JSON只需要使用花括號(hào) {} 和方括號(hào) [] 就可以表示對(duì)象和數(shù)組。這使得JSON的語(yǔ)法更加簡(jiǎn)潔和易讀。

????●?解析效率:由于JSON的語(yǔ)法相對(duì)簡(jiǎn)單,它的解析速度通常比XML更快。這對(duì)于大規(guī)模數(shù)據(jù)的處理和解析非常重要,尤其在需要實(shí)時(shí)響應(yīng)的應(yīng)用場(chǎng)景下。

????●?兼容性:JSON在前端和后端的兼容性較好。幾乎所有主流編程語(yǔ)言都有JSON的解析和序列化庫(kù),這使得JSON在前后端交互時(shí)更為便捷。

????●?可讀性:JSON相對(duì)于XML更易讀寫。JSON的結(jié)構(gòu)類似于JavaScript對(duì)象,使得開(kāi)發(fā)者能夠更直觀地理解數(shù)據(jù)結(jié)構(gòu),便于調(diào)試和開(kāi)發(fā)。

????●?擴(kuò)展性:盡管XML在一些特定領(lǐng)域具有更好的擴(kuò)展性,但對(duì)于一般的樹(shù)形數(shù)據(jù)結(jié)構(gòu),JSON的擴(kuò)展性也是足夠的。JSON支持嵌套對(duì)象和數(shù)組,可以靈活地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。

????綜上所述,JSON在處理省市縣和汽車等樹(shù)形數(shù)據(jù)結(jié)構(gòu)時(shí)具有更小的數(shù)據(jù)體積、更簡(jiǎn)潔的語(yǔ)法、更快的解析效率和更好的兼容性等優(yōu)勢(shì)。這些優(yōu)勢(shì)使得JSON成為處理樹(shù)形數(shù)據(jù)結(jié)構(gòu)的首選數(shù)據(jù)格式,尤其在現(xiàn)代Web應(yīng)用和移動(dòng)應(yīng)用中廣泛應(yīng)用。然而,對(duì)于一些特定需求,XML仍然可能是更好的選擇,比如需要更復(fù)雜結(jié)構(gòu)和更強(qiáng)的擴(kuò)展性的場(chǎng)景。

- End -

JSON:讓數(shù)據(jù)傳輸更優(yōu)雅的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
桂东县| 清新县| 浙江省| 丁青县| 浑源县| 和平县| 河南省| 吉林省| 邯郸市| 岑溪市| 磴口县| 和硕县| 新乡县| 遵化市| 林芝县| 南召县| 枝江市| 南木林县| 鹤峰县| 淮阳县| 鲜城| 井陉县| 苏尼特左旗| 竹山县| 遂平县| 通山县| 长寿区| 凤阳县| 社会| 徐汇区| 黄浦区| 灯塔市| 庆安县| 龙里县| 太和县| 开封市| 高台县| 崇明县| 湟中县| 西宁市| 阳曲县|