天天看點

JSON資料是什麼

參考部落格:JSON 資料格式

  • JSON資料是什麼
JSON(JavaScript Object Notation)是一種輕量級的資料互動格式。JSON采用完全獨立于語言的文本格式,這些特性使JSON成為理想的資料交換語言,易于解析與生成。
  • 基礎結構
  1. "名稱/值"鍵值對的集合。不同語言中,被了解為對象(object),記錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵清單(keyed list),或者關聯數組(associative array)。
  2. 值的有序清單(An ordered list of values)。在大部分語言中被了解為數組(array)。
  • 執行個體
  1. 表示"名稱/值"的鍵值對表示

最為簡單的表示為:{“first”:"aaa}

當有多個鍵值對綁在一起:{“first”:“aaa”,“second”:“bbb”,“third”:“ccc”}

  1. 表示數組

需要将多個花括号的記錄分組綁在一起:

{“people”:[

{“first”:“aaa”,“second”:“bbb”},

{“first”:“ccc”,“second”:“ddd”},

{“first”:“eee”,“second”:“fff”}

]}

在這個示例中,隻有一個名為 people的變量,值是包含三個條目的數組。

可以使用相同的文法表示多個值(每個值包含多個記錄):

{ “programmers”: [

{ “firstName”: “Brett”, “lastName”:“McLaughlin”, “email”: “aaaa” },

{ “firstName”: “Jason”, “lastName”:“Hunter”, “email”: “bbbb” },

{ “firstName”: “Elliotte”, “lastName”:“Harold”, “email”: “cccc” }

],

“authors”: [

{ “firstName”: “Isaac”, “lastName”: “Asimov”, “genre”: “science fiction” },

{ “firstName”: “Tad”, “lastName”: “Williams”, “genre”: “fantasy” },

{ “firstName”: “Frank”, “lastName”: “Peretti”, “genre”: “christian fiction” }

],

“musicians”: [

{ “firstName”: “Eric”, “lastName”: “Clapton”, “instrument”: “guitar” },

{ “firstName”: “Sergei”, “lastName”: “Rachmaninoff”, “instrument”: “piano” }

] }

這裡最值得注意的是,能夠表示多個值,每個值進而包含多個值。但是還應該注意,在不同的主條目(programmers、authors 和 musicians)之間,記錄中實際的名稱 / 值對可以不一樣。JSON 是完全動态的,允許在 JSON 結構的中間改變表示資料的方式。

在處理 JSON 格式的資料時,沒有需要遵守的預定義的限制。是以,在同樣的資料結構中,可以改變表示資料的方式,甚至可以以不同方式表示同一事物。