一、什么是json
什么是json
json的全稱為:JavaScript Object Notation,是一種輕量級的數據交互格式。它基于 ECMAScript (歐洲計算機協會制定的js規范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡單來說:json就是一種在各個編程語言中流通的數據格式,負責不同編程語言中的數據傳遞和交互。
類似于:
與javascript的關系
相信很多程序員只要一提到json總會想到js,因為json不僅含有js的名字,其格式也與js中對象(object)的格式并無一二。
這里我們要進行一個說明,首先json是基于ECMAScript語法,但這并不意味著json必須在js中使用,或者必須要產生什么聯系,json在js中的處理也并沒有比其他語言占有更多優勢。只是因為語法相似,而使得js開發者能更快的上手json而已。
事實上幾乎所有編程語言中都有對json數據轉換的支持:
js中,json與對象的轉換:JSON.parse()/JSON.stringify();
php中,json與數組的轉換:json_encode()/json_decode();
java中,json與對象的轉換:fromJson()/toJson();
python中,json與對象的轉換:json.dumps()/json.loads();
延伸閱讀:
二、json注意事項
為什么說幾乎相同,而不是完全相同呢?接下來我們要說的就是json與js中對象的不同點,也是json嚴格要求的部分:
json的鍵值對的鍵部分,必須用雙引號”包裹,單引號都不行(所以如果在鍵中出現了關鍵字,也被字符化了),而js中對象沒有強制要求(所以在鍵中不允許出現關鍵字)json的鍵值對的值部分,不允許出現函數function,undefined,NaN,但是可以有null,js中對象的值中可以出現json數據結束后,不允許出現沒有意義的逗號,如:{“name”:”admin”,”age”:18,},注意看數據結尾部分18的后面的逗號,不允許出現