【JavaScript】JSON
阿新 • • 發佈:2020-09-10
以下內容為學習記錄,可以參考 MDN 原文。
環境
- node v12.18.1
- npm 6.14.5
- vscode 1.46
- Microsoft Edge 83
概念
JSON 物件包含兩個方法:用於解析 JavaScript Object Notation (JSON) 的 parse() 方法,以及將物件/值轉換為 JSON 字串的 stringify() 方法。除了這兩個方法,JSON 這個物件本身並沒有其他作用,也不能被呼叫或者作為建構函式呼叫。
parse
JSON.parse() 方法用來解析 JSON 字串,構造由字串描述的 JavaScript 值或物件。提供可選的 reviver 函式用以在返回之前對所得到的物件執行變換(操作)。
const json = '{"result":true, "count":42}';
const obj = JSON.parse(json);
console.log(obj.count);
// expected output: 42
console.log(obj.result);
// expected output: true
stringify
JSON.stringify() 方法將一個 JavaScript 值(物件或者陣列)轉換為一個 JSON 字串,如果指定了 replacer 是一個函式,則可以選擇性地替換值,或者如果指定了 replacer 是一個數組,則可選擇性地僅包含陣列指定的屬性。
console.log(JSON.stringify({ x: 5, y: 6 })); // expected output: "{"x":5,"y":6}" console.log(JSON.stringify([new Number(3), new String('false'), new Boolean(false)])); // expected output: "[3,"false",false]" console.log(JSON.stringify({ x: [10, undefined, function(){}, Symbol('')] })); // expected output: "{"x":[10,null,null,null]}" console.log(JSON.stringify(new Date(2006, 0, 2, 15, 4, 5))); // expected output: ""2006-01-02T15:04:05.000Z""