溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何理解JSON

發(fā)布時間:2021-11-18 14:52:17 來源:億速云 閱讀:190 作者:iii 欄目:web開發(fā)

這篇文章主要講解了“如何理解JSON”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何理解JSON”吧!

這幾個字母是什么意思?

JavaScript Object Notation.

[一個滑稽的名字。它應(yīng)該被稱作Lightweight Ecmascript Object Notation, 或簡稱 'LEON'。]

它是個什么東西?

JSON是一種傳遞對象的語法,對象可以是name/value對,數(shù)組和其他對象。

下面是一小段JSON代碼:

{"skillz": {      "web":[          {"name": "html",           "years": "5"         },          {"name": "css",           "years": "3"         }],      "database":[          {"name": "sql",           "years": "7"         }]  }}

你看懂了吧?那么當(dāng)你再看到它時就知道它是JSON了。主要部分:

花括弧,方括弧,冒號和逗號

1. 花括弧表示一個“容器”

2. 方括號裝載數(shù)組

3. 名稱和值用冒號隔開

4. 數(shù)組元素通過逗號隔開

把它想成“得了厭食癥的XML”

(如果你跟我一樣老,可以把它想成有層次關(guān)系的’.INI’文件)

(如果你是個自以為是的Lisp小丑,可以把它想成”S-expressions”,自以為是吧)

JSON很像XML,因為:

1. 他們都“自我描述”,這意味著值都是可列舉的,是“人類可讀”的

2. 都是有層級的。(例如你可以在值里再存放值)

3. 都能被多種的編程語言解析和使用

4. 都能使用AJAX方法來傳遞(例如httpWebRequest)

JSON跟XML不一樣,因為:

1. XML里在元素的開始和結(jié)尾處有尖括號和標(biāo)簽名:JSON使用花括號,而且只在數(shù)據(jù)的開始和結(jié)束時使用。

2. JSON更簡練,毫無疑問更適合人類書寫,也許也能讓我們更快速的閱讀。

3. JSON可以在JavaScript里簡單的傳遞到eval()方法里使用

4. JSON里有數(shù)組{每個元素沒有自己的名稱}

5. 在XML里你可以對一個元素使用任意想要的名稱,在JSON里你不能使用Javascript里的保留字

可是為什么?它有什么好的?

當(dāng)你寫ajax之類的東西時,如果你使用JSON,你就勉去了手工拼寫XML。更迅速。

同樣,當(dāng)你寫ajax之類的東西時,怎樣最簡單?XML方式還是JSON方式:

XML方式:

1. 取回一個XML文件

2. 循環(huán)它,從中提取值

3. 處理這些值,等

對比

JSON方式:

1. 取回JSON字符串。

2. ‘eval’ JSON數(shù)據(jù)

它是面向?qū)ο蟮膯?

No,嚴(yán)格的說,不是。

就像是VB6里的面向?qū)ο笠粯?。它提供了很好的封裝機制,你可以使用它把數(shù)據(jù)和方法分離出來,但它不提供任何的繼承,多型,接口,或其它類似的面向?qū)ο蟮臇|西

很顯然,它是使javascript變得更易于維護,分析和復(fù)用的方向上前進了一步。

Thomas Frank寫了一個靈巧的javascript庫,叫做classyJSON,它在JSON代碼上增加了繼承和定義范圍等特征。

它只是用在客戶端嗎?

是,也不是。在服務(wù)器端你可以容易的把對象序列化成JSON或反之。對于.net,程序員可以使用類似Json.net的類庫使這些操作自動化(我估計是使用反射機制),或你使用自己的程序來做這些事,可能會更快些。

3分鐘將近結(jié)束….

我在幾分鐘的時間里只能整理出這些東西——所有我說的有些東西可能完全是錯的。如果是這樣,請留言告訴我,告訴我我有多傻。我會很高興的糾正任何一個錯誤。祝你好運!

(邊注:如果你把 { 和 } 替換成”<” 和 “/>”,把”:” 換成 “/”&hellip; 你會得到一個非常像gaXml的東西。有趣的世界。

(邊注2:Jason 和 Ajax 都是希臘神話中的英雄。預(yù)告:另外一些即將出現(xiàn)的技術(shù)垃圾包括:Heracles, Perseus, Deucalion, Theseusand Bellerophon。)

感謝各位的閱讀,以上就是“如何理解JSON”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何理解JSON這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI