是Javascript (jscript、ECMA Javascript等)描述對象數(shù)據(jù)(各種元數(shù)據(jù)其實(shí)也是最簡單的對象)的一種數(shù)據(jù)結(jié)構(gòu)。概念和用法均類似于Hash(哈希表)或者關(guān)聯(lián)數(shù)組。

JSON建 " /> 动漫美女胸被狂揉扒开吃奶动态图,成人久久免费视频,a一级日本特黄aaa大片

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JSON 學(xué)習(xí)之完全手冊 圖文

第一章 何謂JOSN
JSON:JavaScript Object Notation

Javascript (jscript、ECMA Javascript等)描述對象數(shù)據(jù)(各種元數(shù)據(jù)其實(shí)也是最簡單的對象)的一種數(shù)據(jù)結(jié)構(gòu)。概念和用法均類似于Hash(哈希表)或者關(guān)聯(lián)數(shù)組。

JSON建構(gòu)于兩種結(jié)構(gòu):

“名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀(jì)錄(record),結(jié)構(gòu)(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關(guān)聯(lián)數(shù)組 (associative array)。
值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數(shù)組(array)。
這些都是常見的數(shù)據(jù)結(jié)構(gòu)。事實(shí)上大部分現(xiàn)代計(jì)算機(jī)語言都以某種形式支持它們。這使得一種數(shù)據(jù)格式在同樣基于這些結(jié)構(gòu)的編程語言之間交換成為可能。

最簡單的JSON例子如下:

復(fù)制代碼 代碼如下:
[
{ name:"Michael", email:"17bity@gmail.com", homepage:"http://www.jb51.NET" },
{ name:"John", email:"john@gmail.com", homepage:"http://s.jb51.NET" },
{ name:"Peggy", email:"peggy@gmail.com", homepage:"http://tools.jb51.NET" }]


下面這個(gè)例子描述了一個(gè)郵件聯(lián)系人列表,在Javascript用eval 運(yùn)行將獲得一個(gè)maillist的對象實(shí)體,那么就可以用Javascript做進(jìn)一步的操作。

復(fù)制代碼 代碼如下:
var maillist = [
{ name:"Michael", email:"17bity@gmail.com", homepage:"http://www.jb51.NET" },
{ name:"John", email:"john@gmail.com", homepage:"http://s.jb51.NET" },
{ name:"Peggy", email:"peggy@gmail.com", homepage:"http://tools.jb51.NET" }
]

那么就可以用Javascript做進(jìn)一步的操作。

第二章 JSON格式

JSON的基本格式如下,圖片來自json.org:
對象是屬性、值對的集合。一個(gè)對象的開始于"{",結(jié)束于"}"。每一個(gè)屬性名和值間用":"提示,屬性間用","分隔。

點(diǎn)擊在新窗口中瀏覽此圖片

數(shù)組是有順序的值的集合。一個(gè)數(shù)組開始于"[",結(jié)束于"]",值之間用","分隔。

點(diǎn)擊在新窗口中瀏覽此圖片

字符串的定義和C或Java基本一致。
點(diǎn)擊在新窗口中瀏覽此圖片

數(shù)字的定義也和C或Java基本一致。
點(diǎn)擊在新窗口中瀏覽此圖片


第三章 應(yīng)用 trimpath Template 進(jìn)行 JSON 模版制作

Trimpath Template 是一個(gè)用來解析Json數(shù)據(jù),生成網(wǎng)頁代碼的輕量級(jí)JS代碼。

Demo:http://demo.jb51.NET/js/js_template/test.htm

trimpath.template基于JavaScript的,跨瀏覽器,采用APL/GPL開放源代碼協(xié)議的,可以讓你輕松進(jìn)行基于模板編程方式的純JS引擎。

http://code.google.com/p/trimpath/

它有如下的特點(diǎn):

1、采用標(biāo)準(zhǔn)的JavaScript編寫,支持跨瀏覽器
2、模板語法類似于:FreeMarker,Velocity,Smarty
3、采用簡易的語言來描述大段的字串以及Dom/DHTML操作
4、可以很方便的解析XML文件格式的數(shù)據(jù)到指定模板。

采 用該引擎,可以讓它來完全處理View方面的事情,服務(wù)端Module直接輸出Data就可以。讓你的MVC模式連成一體,而且由于View由瀏覽器來處 理,大大減少了服務(wù)器的負(fù)擔(dān),用來構(gòu)建Ajax技術(shù)的網(wǎng)絡(luò)信息系統(tǒng)應(yīng)用是一個(gè)非常好的選擇。

這是一個(gè)簡單小巧的 模板工具類, 用來幫助使用者快速的拼裝出所需要的字符串.

簡單說明: 模板中 #{ ... /} 之間的數(shù)據(jù)將被 作為js腳本執(zhí)行, 而其中VAR關(guān)鍵字代表的就是 seed 的值(從外部傳入的一個(gè)變化的值).
模板分成兩部分來執(zhí)行, compile 和 run. #{..../}之間的部分在run期間被執(zhí)行,
#{#...../} 之間的部分在編譯期執(zhí)行.編譯期執(zhí)行的代碼中不能傳入seed.
更多的說明也不用再寫了,因?yàn)榇_實(shí)很簡單的功能 呵呵.

原理: 實(shí)際上就是 利用傳入的參數(shù)對 模板字符串中 #{ .../} 的部分進(jìn)行替換.(對 #{ .../}之間的部分執(zhí)行eval(),之后再替換).


如果你對模版技術(shù)感興趣,也可以通過研究代碼來獲得更多的啟發(fā)。

總結(jié)

作為JavaSCRIPT的默認(rèn)數(shù)據(jù)格式,json在進(jìn)行Ajax操作時(shí)顯得非常方便,而且相對XML文件小了很多。因而在網(wǎng)速不甚理想的,系統(tǒng)耦合度比較高等情況下有更好的表現(xiàn)。

但是XML做為一種可以自描述的格式,在全世界有著更廣泛的應(yīng)用。所以當(dāng)系統(tǒng)要求跨平臺(tái),跨語言時(shí),采用XML仍舊是最好的選擇。  

JavaScript技術(shù)JSON 學(xué)習(xí)之完全手冊 圖文,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 激情婷婷 | 一区二区成人国产精品 | 免费黄色在线观看 | 伊人色婷婷综在合线亚洲 | 青青草色青伊人 | 日本色www| 激情小说激情图片激情视频 | 亚洲六月丁香六月婷婷蜜芽 | 中国日韩欧美中文日韩欧美色 | 狠狠干视频网 | 国产精品自在线观看剧情 | 国产成人国产在线观看入口 | 99精品国产成人一区二区 | 午夜视频免费国产在线 | 亚洲狠狠婷婷综合久久久久网站 | 美女又美女又黄又免费网站 | 97视频国产 | 在线观看国产91 | 久久亚洲aⅴ精品网站婷婷 久久亚洲不卡一区二区 | 97影院午夜在线观看视频 | 国产精品嫩草影院一二三区 | 亚洲社区在线观看 | 日韩中文字幕免费 | 欧美激情国产一区在线不卡 | 精品国产夜色在线 | 一区不卡视频 | 久久久精品免费国产四虎 | 国产中文在线 | 两性色 | 国产亚洲精品福利片 | 性无遮挡高清视频免费 | 国产在线综合网 | 免费小视频在线观看 | 日本欧美高清视频 | 5月丁香6月婷婷 | 色资源二区在线视频 | 精品一区二区香蕉 | 亚洲综合久久伊人热 | 国产精品福利在线 | 91视频中文| 小美女毛片 |