📜  JavaScript JSON stringify() 方法(1)

📅  最后修改于: 2023-12-03 15:01:37.929000             🧑  作者: Mango

JavaScript JSON stringify() 方法

简介

JSON.stringify() 方法是将 JavaScript 对象转换为 JSON 字符串的核心方法,其中 JSON 是 JavaScript 对象表示法的缩写。该方法接受三个参数:第一个参数是要转换的 JavaScript 对象,第二个参数是转换的过程中可以替换函数的处理方法,第三个参数是转换后 JSON 字符串的缩进格式。

语法
JSON.stringify(value[, replacer[, space]])
参数
  • value - 要转换为 JSON 字符串的 JavaScript 对象。
  • replacer (可选) - 用于转换过程中替换值的处理方法。
  • space (可选) - 指定缩进用的空格数或缩进字符串。
返回值

返回转换后的 JSON 字符串,如果转换失败则返回 undefined

示例
将对象转换为 JSON 字符串
const obj = {
  name: 'John',
  age: 30,
  city: 'New York'
};

const jsonString = JSON.stringify(obj);

console.log(jsonString); // 输出: {"name":"John","age":30,"city":"New York"}
替换值的处理方法
const obj = {
  name: 'John',
  age: 30,
  city: 'New York'
};

function replacer(key, value) {
  if (typeof value === 'number') {
    return undefined;
  }
  return value;
}

const jsonString = JSON.stringify(obj, replacer);

console.log(jsonString); // 输出: {"name":"John","city":"New York"}
缩进格式
const obj = {
  name: 'John',
  age: 30,
  city: 'New York'
};

const jsonString = JSON.stringify(obj, null, 2);

console.log(jsonString);
// 输出:
// {
//   "name": "John",
//   "age": 30,
//   "city": "New York"
// }
注意事项
  • JSON.stringify() 方法不能序列化带有函数的对象。
  • 如果转换失败,会返回 undefined,这通常是因为对象中有循环引用。