成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

理解JSON:3分鐘課程輕松搞定

開發(fā) 前端
今天你被心靈深處的一個鬧鈴鬧醒,心想:這該死的json究竟是個什么東西?為什么突然間到處都是它了!

如果你跟我一樣(我擔(dān)心你就是),那么,到目前為止,這應(yīng)該是你對JSON的經(jīng)驗:

1. 兩個月前你從沒聽說過JSON

2. 一個月前你聽說了這個詞但沒有留意

3. 一周前你發(fā)現(xiàn)這個詞被提到多次,開始想,沒錯 … 又有一些垃圾東西要學(xué)了

4. 今天你被心靈深處的一個鬧鈴鬧醒,心想:這該死的json究竟是個什么東西?為什么突然間到處都是它了!

于是晚上我乘坐了一輛慢騰騰的公交回到家(周五通常都是很慢),然后給自己找了一大堆關(guān)于JSON資料。所以我可以文雅的帶你進(jìn)入JSON的大門。

這就開始了 …

這幾個字母是什么意思?

JavaScript Object Notation.

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

它是個什么東西?

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

下面是一小段JSON代碼:

  1. {"skillz": {  
  2.     "web":[  
  3.         {"name""html",  
  4.          "years""5" 
  5.         },  
  6.         {"name""css",  
  7.          "years""3" 
  8.         }],  
  9.     "database":[  
  10.         {"name""sql",  
  11.          "years""7" 
  12.         }]  
  13. }} 

你看懂了吧?那么當(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ū)ο笠粯印K峁┝撕芎玫姆庋b機制,你可以使用它把數(shù)據(jù)和方法分離出來,但它不提供任何的繼承,多型,接口,或其它類似的面向?qū)ο蟮臇|西

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

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

它只是用在客戶端嗎?

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

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

就我所知,JSON是由一個叫做Douglas Crockford的家伙發(fā)明的。如果你喜歡的話,可以看一下他的網(wǎng)站http://www.crockford.com/,他非常的有趣。

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

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

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

and Bellerophon。)

【編輯推薦】

  1. 一個JSON實例:jQuery解析JSON數(shù)據(jù)
  2. Ajax和WEB服務(wù)數(shù)據(jù)格式:JSON JSONP
  3. 基于JSON實現(xiàn)數(shù)據(jù)列表翻頁顯示
  4. Jackson框架輕易轉(zhuǎn)換JSON
  5. 在PHP語言中使用JSON
責(zé)任編輯:陳貽新 來源: 外刊IT評論
相關(guān)推薦

2023-04-12 11:18:51

甘特圖前端

2010-03-05 17:28:08

2023-12-06 08:48:36

Kubernetes組件

2013-06-24 15:32:41

JPush極光推送Android Pus移動開發(fā)

2020-12-18 07:33:20

SpringSchedule組件

2021-12-01 06:50:50

Docker底層原理

2025-03-18 09:20:00

Go語言Golang

2009-11-26 11:19:52

NIS服務(wù)器

2024-09-18 08:21:24

JavaScriptTypeScriptprototype

2024-09-03 09:47:09

閉包裝飾器Python

2020-11-10 16:01:25

程序員設(shè)計模式技術(shù)

2017-09-27 11:00:50

LinuxBash使用技巧

2011-02-21 17:48:35

vsFTPd

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫

2016-04-06 11:14:48

iOS相機自定義

2017-02-21 13:00:27

LoadAverage負(fù)載Load

2011-08-08 09:22:10

Python

2019-04-01 14:59:56

負(fù)載均衡服務(wù)器網(wǎng)絡(luò)

2018-07-31 16:10:51

Redo Undo數(shù)據(jù)庫數(shù)據(jù)

2018-06-26 05:23:19

線程安全函數(shù)代碼
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产清纯白嫩初高生在线播放视频 | 亚洲欧美成人在线 | 亚洲精品v | 五月婷婷在线视频 | 久久黄色 | 日本在线视频一区二区 | 一级片免费网站 | 日本不卡一区 | 99久久精品国产毛片 | 国产精品无码久久久久 | 中文字幕日韩欧美 | 九九九视频在线观看 | 天天射中文 | 成人午夜精品 | 99精品国产一区二区青青牛奶 | 日韩色综合| 国产99久久久国产精品 | 精品日韩一区 | 久久精品一区二区 | 国产精品亚洲第一 | 欧美jizzhd精品欧美巨大免费 | 欧美亚洲综合久久 | 欧美日韩免费 | 国产午夜影院 | 2020天天操| 免费三级黄 | 黑人巨大精品欧美一区二区免费 | 亚洲精品九九 | 91国自视频 | 成年人免费在线视频 | 九九热在线视频观看这里只有精品 | 亚州精品天堂中文字幕 | 男人天堂视频在线观看 | 亚洲不卡一 | 51ⅴ精品国产91久久久久久 | 久久51 | 欧美一卡二卡在线观看 | 久久高清精品 | 蜜桃免费一区二区三区 | 中文字幕日韩欧美 | 国产精品激情 |