是Javascript (jscript、ECMA Javascript等)描述對象數據(各種元數據其實也是最簡單的對象)的一種數據結構。概念和用法均類似于Hash(哈希表)或者關聯數組。

JSON建 " /> 欧美一卡二卡,精品一区二区三区蜜桃,日韩在线影视

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

JSON 學習之完全手冊 圖文

第一章 何謂JOSN
JSON:JavaScript Object Notation

Javascript (jscript、ECMA Javascript等)描述對象數據(各種元數據其實也是最簡單的對象)的一種數據結構。概念和用法均類似于Hash(哈希表)或者關聯數組。

JSON建構于兩種結構:

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

最簡單的JSON例子如下:

復制代碼 代碼如下:
[
{ 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用eval 運行將獲得一個maillist的對象實體,那么就可以用Javascript做進一步的操作。

復制代碼 代碼如下:
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做進一步的操作。

第二章 JSON格式

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

點擊在新窗口中瀏覽此圖片

數組是有順序的值的集合。一個數組開始于"[",結束于"]",值之間用","分隔。

點擊在新窗口中瀏覽此圖片

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

數字的定義也和C或Java基本一致。
點擊在新窗口中瀏覽此圖片


第三章 應用 trimpath Template 進行 JSON 模版制作

Trimpath Template 是一個用來解析Json數據,生成網頁代碼的輕量級JS代碼。

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

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

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

它有如下的特點:

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

采 用該引擎,可以讓它來完全處理View方面的事情,服務端Module直接輸出Data就可以。讓你的MVC模式連成一體,而且由于View由瀏覽器來處 理,大大減少了服務器的負擔,用來構建Ajax技術的網絡信息系統應用是一個非常好的選擇。

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

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

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


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

總結

作為JavaSCRIPT的默認數據格式,json在進行Ajax操作時顯得非常方便,而且相對XML文件小了很多。因而在網速不甚理想的,系統耦合度比較高等情況下有更好的表現。

但是XML做為一種可以自描述的格式,在全世界有著更廣泛的應用。所以當系統要求跨平臺,跨語言時,采用XML仍舊是最好的選擇。  

JavaScript技術JSON 學習之完全手冊 圖文,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 诏安县| 陕西省| 美姑县| 海原县| 临洮县| 防城港市| 芜湖市| 米脂县| 昭通市| 改则县| 肇东市| 临湘市| 墨竹工卡县| 门源| 行唐县| 桃江县| 墨竹工卡县| 安吉县| 衡东县| 崇州市| 会理县| 镇雄县| 姚安县| 湘潭市| 都昌县| 壶关县| 二手房| 宜宾县| 新沂市| 云龙县| 霸州市| 三原县| 平湖市| 宜阳县| 基隆市| 宜丰县| 永川市| 内丘县| 呼伦贝尔市| 达孜县| 萍乡市|