傻傻弄不清楚的JSON?

做爲一名開發人員,咱們時常跟JSON打交道,但對於JSON卻有這很多的疑惑,但日常也就是停留在使用的角度上。今天咱們就來走進JSON。 咱們首先引入兩個問題,這兩個問題將幫助咱們理解JSON。html

  • 什麼是JSON?
  • 爲何須要JSON或者JSON能幫助咱們作什麼?

第一個問題的答案就隱藏在JSON的名字當中,JSON: JavaScript Object Notation. 咱們重點關注Notation這個詞,前兩個詞咱們很熟悉。web

>Notation: 符號,記號,譜號。 
咱們是否能夠將JSON理解爲JavaScript對象的符號形式呢?
帶着這個疑問,我查看了[JSON](http://www.json.org/json-zh.html)的官網: ![Alt text](./1561562155612.png) 請注意標紅的部分,這是關鍵。咱們在強調一遍,一種輕量級的數據交換格式。

根據以上的求索,咱們能夠對JSON作出如下論斷:json

  • JSON是JavaScript對象的表示形式
  • JSON是一種輕量級的數據交換形式

從JSON的官網能夠看到JSON有兩種結構:後端

"名稱/值"對的集合,好怪的說法啊,JSON脫胎於JavaScript,簡單的說,JSON就是JavaScript的對象和數組。
那麼JSON是JavaScript的對象嗎?並非,說JSON是JavaScript的對象和數組只是爲了方便理解JSON而已,JavaScript Object Notation, JavaScript Object Notation,咱們強調兩遍,Notaiton在牛津字典的解釋是 a system of signs or symbols used to represent information---即一種表明某種信息的符號。叫 JavaScript Object Notation的緣由也許是JSON的做者道格拉斯同志在設計JSON時參考了JavaScript Object的對象語法而已。
JSON的形式:數組


接下來,咱們從數據交換形式的角度來解釋JSON,數據交換是誰和誰作交換呢? web客戶端和服務端吧。在先後端分離的大勢,JSON是前段和後端的一種數據交換形式,不單單是先後端的一種數據交換形式,仍是系統之間進行數據交換的一種形式。前後端分離

爲何須要JSON呢?
那就要請出XML同志了,在沒有JSON同志以前,都使用XML進行數據交換,可是XML並不簡單,有着各類各樣的數據約束,越搞越複雜,咱們但願數據交換形式儘量的簡單一些,不想再去了解那些讓人頭痛的那一大堆的複雜規範。設計

相關文章
相關標籤/搜索