最近,因為要做一份工作:即集成下載管理中的Python腳本。
在那里面我發現Python處理的文本后綴是.json。
這讓我有些好奇,json文本到底是什么呢?
后來網上查閱,發現一個網友寫的很好。他翻閱的是一種叫做yaml的簡化數據交換格式的幫助文檔,發現了一段非常經典的話。
該文檔說,從結構上看,所有的數據(data)最終可以分解成三種類型:
第一種類型是標量scalar,也就是一個單獨的字符串string或數字numbers,比如“成都”這個單獨的詞。
第二種類型是序列sequence,也就是若干個相關的數據按照一定順序并列在一起,又叫做數組array,或者列表list,比如“成都,重慶”。
第三種類型是映射mapping,也就是一個名/值name/value,即數據有一個名稱,還有一個與之相對應的值,這又稱作散列hash或字典dictionary,比如“蓉城:成都”。
是啊,原來數據構成的最小單元經如此簡單。難怪在編程語言中,只要有了數組array和對象object就能夠存儲一切數據了。
那么json呢?json這種文本文件又是怎么存儲數據的呢?
21世紀初。Douglas crockford尋找一種簡便的數據交換格式,能夠在服務器之間交換數據。當時通用的數據交換語言是xml,但是Douglas crockford覺得xml的生成和解析都太麻煩,所以他提出了一種簡化格式,也就是json。
json的格式非常簡單,只用一個頁面幾百個字就能說清楚,而且Douglas crockford聲稱這個規格永遠不必升級,因為該規定的都規定了。
1.并列的數據之間用逗號(,)分隔
2.映射用冒號(:)表示
3.并列數據的集合(數組)用方括號([])表示
4.映射的集合(對象)用大括號({})表示
以上四條規則,就是json格式的所有內容。
由此可見,json非常易學易用,所以,在短短幾年中,她就取代了xml,成為了互聯網上最受歡迎的數據交換格式。