JSON是一個輕量級的數據格式,能夠簡化表示複雜數據結構的工做量,它不支持變量、函數或者對象實例,JSON字符串必須使用雙引號(單引號會致使語法錯誤);在手工編寫JSON時,JSON對象中的屬性名任什麼時候候都必須加雙引號。JSON是ECMAScript5定義的對象,有兩個方法:SON.stringify()和JSON.parse()。javascript
功能:把JavaScript對象序列化爲JSON字符串java
語法:JSON.stringify(value[, replacer [, space]])數組
例子:瀏覽器
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}"複製代碼
function replacer(key, value) {
if (typeof value === "string") {
return undefined;
}
return value;
}
var foo = {foundation: "Mozilla", model: "box", week: 45, transport: "car", month: 7};
JSON.stringify(foo, replacer);複製代碼
var obj = {"age": 19, "name": "千鈞", "functionName": "test", "address": "china"};
JSON.stringify(obj, ['age', 'name']); // "{"age":19,"name":"千鈞"}"複製代碼
var obj = {"age": 19, "name": "千鈞", "functionName": "test", "address": "china"};
JSON.stringify(obj, null, 2)複製代碼
執行結果以下所示:數據結構
功能:把JSON字符串解析爲原生JavaScript對象函數
語法:JSON.parse(text[, reviver])網站
注意:若傳入的字符串不符合 JSON 規範,則會拋出 SyntaxError
異常。ui
例子:spa
JSON.parse('{}'); // {}
JSON.parse('true'); // true
JSON.parse('"foo"'); // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null'); // null複製代碼
JSON.parse('{"p": 5}', function (k, v) {
if(k === '') return v; // 若是到了最頂層,則直接返回屬性值,
return v * 2; // 不然將屬性值變爲原來的 2 倍。
}); 複製代碼
JSON.parse('[1,3,4,]')
JSON.parse('{a:1,}')複製代碼
報錯以下:code
經過www.caniuse.com/網站能夠查看JSON.stringify()和JSON.parse()的瀏覽器支持的兼容性;
在開發中常使用JSON這一塊,因此就將其整理一下,同時更加方便查閱;不足之處望指正!
ps:會持續更新