1. 程式人生 > 實用技巧 >【JavaScript】JSON

【JavaScript】JSON

以下內容為學習記錄,可以參考 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""