JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。用來序列化對象、數組、數值、字符串、布爾值和 null 。JSON 不支持 JavaScript 中的特殊值 undefined、symbol、變量、函數、對象實例。
簡單值
簡單值:表示字符串、數值、布爾值和 null。
// 有效的JSON數據
5
"Hello World"
JavaScript 字符串與 JSON 字符串的最大區別在于,JSON 字符串必須使用雙引號(單引號會導致語法錯誤)。
對象
JSON 中的對象與 JavaScript 字面量稍微有一些不同。對象作為一種復雜數據類型,表示的是一組無序的鍵值對。
// JavaScript
var object = {
"name": "Jake",
"age": 26
};
// JSON
{
"name": "Jake",
"age": 26
}
與 JavaScript 的對象字面量相比,JSON 對象有兩個地方不一樣。首先,沒有聲明變量( JSON 中沒有變量的概念)。其次,沒有末尾的分號。JSON 中對象的屬性必須加雙引號,屬性的值可以是簡單值,也可以是復雜類型值。
數組
JSON 中第二種復雜數據類型是數組。
// JavaScript
var array = [25,"hi",true];
// JSON
[25,"hi",true]
方法
JSON 對象有兩個方法:stringify() 和 parse() 。
stringify() 方法
JSON.stringify() 方法將一個 JavaScript 值轉換為一個 JSON 字符串。
JSON.stringify({}); // '{}'
JSON.stringify(true); // 'true'
JSON.stringify("foo"); // '"foo"'
JSON.stringify([1, "false", false]); // '[1,"false",false]'
JSON.stringify({ x: 5 }); // '{"x":5}'
JSON.stringify({x: 5, y: 6}) // '{"x":5,"y":6}'
parse() 方法
JSON.parse() 方法把一個 JSON 字符串解析為原生 JavaScript 值。
JSON.parse('{}'); // {}
JSON.parse('true'); // true
JSON.parse('"foo"'); // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null'); // null