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