數(shù)據(jù)交換的格式,從結(jié)構(gòu)上看,所有的數(shù)據(jù)(data)最終都可以分解成三種類型:
第一種類型是標(biāo)量(scalar),也就是一個單獨的字符串(string)或數(shù)字(numbers),比如"北京"這個單獨的詞。
第二種類型是序列(sequence),也就是若干個相關(guān)的數(shù)據(jù)按照一定順序并列在一起,又叫做數(shù)組(array)或列表(List),比如"北京,上海"。
第三種類型是映射(mapping),也就是一個名/值對(Name/value),即數(shù)據(jù)有一個名稱,還有一個與之相對應(yīng)的值,這又稱作散列(hash)或字典(dictionary),比如"首都:北京"。
json的官方地址為:http://json.org/json-zh.html
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。 易于人閱讀和編寫。同時也易于機器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數(shù)據(jù)交換語言。
JSON,JavaScript Object Notation,一種更輕、更友好的用于接口(AJAX、REST等)數(shù)據(jù)交換的格式。JSON是結(jié)構(gòu)化數(shù)據(jù)串行化的文本格式,作為XML的一種替代品,用于表示客戶端與服務(wù)器間數(shù)據(jù)交換有效負(fù)載的格式。它是從ECMAScript語言標(biāo)準(zhǔn)衍生而來的。JSON的設(shè)計目標(biāo)是使它成為小的、輕便的、文本的,而且是JavaScript的一個子集。
JSON能夠描述四種簡單的類型(字符串、數(shù)字、布爾值和null)和兩種結(jié)構(gòu)化類型(對象和數(shù)組)。
字符串(string)是零個或多個Unicode字符的序列。除了字符 “、\、/和一些控制符(\b,\f,\n,\r,\t)需要編碼外,其他 Unicode 字符可以直接輸出
對象(Object)是無次序的零個或多個名/值(name/value)對的集合,使用{}包含包含所有元素。這里的name是string類型,value則可以是string、number、 boolean、null、Object或Array類型。
數(shù)組(Array)是零個或多個value的有序序列。JSON 還可以表示一個數(shù)組對象,使用 [] 包含所有元素,每個元素用逗號分隔,元素可以是任意的 Value。
Object 對象在 JSON 中是用 {} 包含一系列無序的 Key-Value 鍵值對表示的,key是string類型,value則可以是string、number、boolean、null、Object或Array類型。
“Object”和”Array”這兩個術(shù)語來自JavaScript規(guī)范。
【JSON的優(yōu)點】
- 數(shù)據(jù)格式比較簡單, 易于讀寫, 格式都是壓縮的, 占用帶寬小
- 易于解析, 客戶端JavaScript可以簡單的通過eval()進行JSON數(shù)據(jù)的讀取
- 支持多種語言, 包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等語言服務(wù)器端語言, 便于服務(wù)器端的解析
【JSON的缺點】
- 沒有XML格式這么推廣的深入人心和使用廣泛, 沒有XML那么通用性
- JSON格式目前在Web Service中推廣還屬于初級階段
json提供了多種語言的支持:
如果你是c++用戶可以看看jsoncpp
源碼下載地址:http://sourceforge.net/projects/jsoncpp/
參考地址: 數(shù)據(jù)類型和Json格式:http://www.ruanyifeng.com/blog/2009/05/data_types_and_json.htmlJSON格式總結(jié):http://www.phppan.com/2009/10/json-summary/
posted on 2011-08-07 21:05
漂漂 閱讀(786)
評論(0) 編輯 收藏 引用