国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - json - JSON學習筆記

JSON學習筆記

2022-01-03 21:47JSON教程網 json

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,易于閱讀和編寫,同時也易于機器解析和生成。它基于ECMA262語言規范(1999-12第三版)中JavaScript編程語言的一個子集。 JSON采用與編程語言無關的文本格式,但是也使用了類

利用xmlHttpRequest組件作為交互工具,利用XML作為數據傳輸的格式。

[  XML ]
使用XML作為傳輸格式的優勢:
1. 格式統一, 符合標準
2. 容易與其他系統進行遠程交互, 數據共享比較方便

缺點:
1. XML文件格式文件龐大, 格式復雜, 傳輸占用帶寬
2. 服務器端和客戶端都需要花費大量代碼來解析XML, 不論服務器端和客戶端代碼變的異常復雜和不容易維護
3. 客戶端不同瀏覽器之間解析XML的方式不一致, 需要重復編寫很多代碼
4. 服務器端和客戶端解析XML花費資源和時間


[ JSON ]
那么除了XML格式, 還有沒有其他格式, 有一種叫做JSON (JavaScript Object Notation) 的輕量級數據交換格式能夠替代XML的工作.

優點:
1. 數據格式比較簡單, 易于讀寫, 格式都是壓縮的, 占用帶寬小
2. 易于解析這種語言, 客戶端JavaScript可以簡單的通過eval()進行JSON數據的讀取
3. 支持多種語言, 包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等語言服務器端語言, 便于服務器端的解析
4. 在PHP世界, 已經有PHP-JSON和JSON-PHP出現了, 便于PHP序列化后的程序直接調用. PHP服務器端的對象、數組等能夠直接生JSON格式, 便于客戶端的訪問提取.
   另外PHP的PEAR類已經提出了支持 (http://pear.php.net/pepr/pepr-proposal-show.php?id=198)
5. 因為JSON格式能夠直接為服務器端代碼使用, 大大簡化了服務器端和客戶端的代碼開發量, 但是完成的任務不變, 且易于維護

缺點:
1. 沒有XML格式這么推廣的深入人心和使用廣泛, 沒有XML那么通用性
2. JSON格式目前在Web Service中推廣還屬于初級階段

PS: 據說Google的Ajax是使用 JSON+模板 做的

JSON定義
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,易于閱讀和編寫,同時也易于機器解析和生成。它基于ECMA262語言規范(1999-12第三版)中JavaScript編程語言的一個子集。 JSON采用與編程語言無關的文本格式,但是也使用了類C語言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的習慣,這些特性使JSON成為理想的數據交換格式。
JSON的結構基于下面兩點

1. "名稱/值"對的集合 不同語言中,它被理解為對象(object),記錄(record),結構(struct),字典(dictionary),哈希表(hash table),鍵列表(keyed list)等
2. 值的有序列表 多數語言中被理解為數組(array)
JSON使用:
JSON以一種特定的字符串形式來表示 JavaScript 對象。如果將具有這樣一種形式的字符串賦給任意一個 JavaScript 變量,那么該變量會變成一個對象引用,而這個對象就是字符串所構建出來的,好像有點拗口,我們還是用實例來說明。
這里假設我們需要創建一個User對象,并具有以下屬性
用戶ID
用戶名
用戶Email
您可以使用以下JSON形式來表示User對象:
JavaScript代碼
{"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};
然后如果把這一字符串賦予一個JavaScript變量,那么就可以直接使用對象的任一屬性了。
完整代碼:
JavaScript代碼

復制代碼 代碼如下:


<script>
var User = {"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};
alert(User.Name);
</script>


實際使用時可能更復雜一點,比如我們為Name定義更詳細的結構,使它具有FirstName和LastName:
JavaScript代碼
{"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}
完整代碼:
JavaScript代碼

復制代碼 代碼如下:


<script>
var User = {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"};
alert(User.Name.FirstName);
</script>


現在我們增加一個新的需求,我們某個頁面需要一個用戶列表,而不僅僅是一個單一的用戶信息,那么這里就需要創建一個用戶列表數組。
下面代碼演示了使用JSON形式定義這個用戶列表:
JavaScript代碼

復制代碼 代碼如下:


[
{"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"},
{"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"},
{"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"}
]


完整代碼:
JavaScript代碼

復制代碼 代碼如下:


<script>
var UserList = [
{"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"},
{"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"},
{"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"}
];
alert(UserList[0].Name.FirstName);
</script>


事實上除了使用"."引用屬性外,我們還可以使用下面語句:
JavaScript代碼

復制代碼 代碼如下:


alert(UserList[0]["Name"]["FirstName"]); 或者 alert(UserList[0].Name["FirstName"]);


現在讀者應該對JSON的使用有點認識了,歸納為以下幾點:
對象是屬性、值對的集合。一個對象的開始于“{”,結束于“}”。每一個屬性名和值間用“:”提示,屬性間用“,”分隔。
數組是有順序的值的集合。一個數組開始于"[",結束于"]",值之間用","分隔。
值可以是引號里的字符串、數字、true、false、null,也可以是對象或數組。這些結構都能嵌套。
字符串和數字的定義和C或Java基本一致。
小節:
本文通過一個實例演示,初步了解了JSON 的強大用途。可以歸結如下:
JSON 提供了一種優秀的面向對象的方法,以便將元數據緩存到客戶機上。
JSON 幫助分離了驗證數據和邏輯。
JSON 幫助為 Web 應用程序提供了 Ajax 的本質。

參考資料:
http://www.json.org/
http://www.ibm.com/developerworks/cn/web/wa-lo-json/?ca=drs-tp3308#N1010D

延伸 · 閱讀

精彩推薦
  • jsonjson.stringify()與json.parse()的區別以及用處

    json.stringify()與json.parse()的區別以及用處

    這篇文章主要介紹了json.stringify()與json.parse()的區別以及用處,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    Adelamm4582022-01-06
  • json厲害了,ECMAScript 新提案:JSON模塊

    厲害了,ECMAScript 新提案:JSON模塊

    第三階段的一個名為JSON模塊的新提議,提出了一種將JSON導入到ES模塊的方法。現在,我們來看看JSON模塊是如何工作的。...

    大遷世界11232021-12-27
  • jsonJSON學習筆記

    JSON學習筆記

    JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,易于閱讀和編寫,同時也易于機器解析和生成。它基于ECMA262語言規范(1999-12第三版)中JavaScript編...

    JSON教程網3562022-01-03
  • json使Ext的Template可以解析二層的json數據的方法

    使Ext的Template可以解析二層的json數據的方法

    使Ext的Template可以解析二層的json數據的方法...

    json教程網4862022-01-03
  • json看了就知道什么是JSON

    看了就知道什么是JSON

    JSON(Javascript Object Notation) 是一種輕量級的數據交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。它基于Javascript Programming Language, Standard ECMA-262 ...

    JSON教程網5932022-01-03
  • json用 JSON 處理緩存

    用 JSON 處理緩存

    使用 JSON(即 JavaScript Object Notation),將以一種特定的字符串形式來表示 JavaScript 對象。如果將具有這樣一種形式的字符串賦給任意一個 JavaScript 變量,該...

    JSON教程網8642022-01-03
  • json告訴大家什么是JSON

    告訴大家什么是JSON

    JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。...

    json教程網6432022-01-03
  • jsonXML的代替者----JSON

    XML的代替者----JSON

    我個人覺得PHP與Javascript各有長處,如果能完美的結合起來,那將創造出許許多多的奇跡!我是初次寫此類文章,Bug難免,請各位指正~ 現在AJAX應用非常流行...

    JSON教程網7022022-01-03
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲精品com| 久久精品无码一区二区日韩av | 69免费视频 | 成人免费av电影 | 成人av播放| 亚洲成人av | 亚洲国产精品久久久久婷婷老年 | 亚洲精品视频在线观看网站 | 欧美一区免费 | 黄色成人在线 | 天堂在线视频 | 午夜在线观看视频网站 | 一区二区在线不卡 | 羞羞网站在线观看 | 丁香婷婷综合激情五月色 | 国产黄色电影 | 性做久久久久久久免费看 | 寡妇激情毛片免费视频 | 国产午夜精品一区二区三区视频 | 国产精品亚洲精品 | 久久综合久久久 | 日韩中文字幕在线播放 | 日韩国产欧美一区 | 久久久91精品国产一区二区三区 | 日韩视频在线一区 | 亚洲精品视频免费观看 | 久久在线视频 | 久久精品视频网站 | 啵啵影院午夜男人免费视频 | a久久 | 台湾黄网| 久久久精品久久久 | 久久人人爽爽爽人久久久 | 人人干人人爱 | 最新中文字幕视频 | 激情婷婷丁香 | 少妇精品视频在线观看 | 精品国产一区二区三区av性色 | 亚洲精品久久久久久久久久久久久 | 久久mm| 亚洲精品国产a |