JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。它接受以下几个参数:
1. value
要转换为 JSON 字符串的值。可以是任何有效的 JavaScript 对象,如对象、数组、字符串、数字、布尔值等。
2. replacer(可选)
- 如果是一个函数,它会在每个属性被序列化之前被调用。函数接收两个参数,属性名(`key`)和属性值(`value`),并返回一个新的属性值,这个新值会被用于序列化。
- 如果是一个数组,那么只有包含在这个数组中的属性名会被序列化。
- 如果未提供,则所有可枚举的自有属性都会被序列化。
3. space(可选)
- 如果是一个数字,则表示在生成的 JSON 字符串中每个级别缩进的空格数。
- 如果是一个字符串,则该字符串会被用作缩进字符,每一级缩进都会重复这个字符串。
- 如果未提供,则不进行缩进,生成的 JSON 字符串是紧凑的。
const obj = {name: "John",age: 30,hobbies: ["reading", "coding"],};// 使用函数作为 replacerconst jsonStringWithFunctionReplacer = JSON.stringify(obj, (key, value) => {if (key === "age") {return value + 1;}return value;});console.log(jsonStringWithFunctionReplacer);// 使用数组作为 replacerconst jsonStringWithArrayReplacer = JSON.stringify(obj, ["name", "hobbies"]);console.log(jsonStringWithArrayReplacer);// 使用 space 参数进行缩进const jsonStringWithIndentation = JSON.stringify(obj, null, 4);console.log(jsonStringWithIndentation);