JSON.stringify()介紹

JSON.stringify()是JavaScript內置的一個方法,用于將數據轉換爲JSON格式的字符串。

JSON.stringify() 语法

JSON.stringify(value[, replacer[, space]])

參數說明:

  • value

必填。待轉換的數據,類型可以是StringNumberBooleanNullObjectArray

  • replacer

选填。用于转换结果的函数或数组。如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。

  • space

选填。文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。

JSON.stringify() 返回值

返回JSON語法格式的字符串。

JSON.stringify() 示例1

JSON.stringify(99); // "99"
JSON.stringify("foo"); // ""foo""
JSON.stringify(true); // "true"
JSON.stringify({foo: "bar"}); // "{"foo":"bar"}"
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"

JSON.stringify() 示例2

function replacer(key, value) {
  // Filtering out properties
  if (typeof value === 'string') {
    return undefined;
  }
  return value;
}

var foo = {foundation: 'Mozilla', model: 'box', week: 45, transport: 'car', month: 7};
JSON.stringify(foo, replacer);
// '{"week":45,"month":7}'

JSON.stringify() 示例3

如果參數replacer是一個數組,那麽這個數組中的成員值表示待轉換對象中要過濾的key

var foo = {foundation: 'Mozilla', model: 'box', week: 45, transport: 'car', month: 7};
JSON.stringify(foo, ['week', 'month']);

JSON.stringify() 示例4

JSON.stringify({ a: 2 }, null, ' ');
// '{
//  "a": 2
// }'