JSON.stringify() 是 JavaScript 中用于将对象转换为 JSON 格式字符串的方法。这个方法通常用于将 JavaScript 对象序列化为 JSON 格式,以便在数据交换过程中进行传输或存储。

语法:
JSON.stringify(value[, replacer[, space]])

  •  value: 必选,要转换为 JSON 字符串的值。

  •  replacer: 可选,一个用于转换结果的函数或数组。

  •  space: 可选,用于控制缩进格式的空白字符串或数字。


示例:
var jsonObject = {
  "name": "John",
  "age": 30,
  "city": "New York"
};

// 转换对象为 JSON 字符串
var jsonString = JSON.stringify(jsonObject);

console.log(jsonString);
// 输出:{"name":"John","age":30,"city":"New York"}

使用 replacer:

replacer 是一个可选的函数或数组,用于在将对象转换为 JSON 字符串的过程中对每个键值对进行过滤或转换。如果是一个函数,可以对每个键值对进行定制处理;如果是一个数组,可以指定要包含在最终结果中的属性名称。
var jsonObject = {
  "name": "John",
  "age": 30,
  "city": "New York"
};

// 使用 replacer 过滤掉 age 属性
var jsonString = JSON.stringify(jsonObject, function(key, value) {
  if (key === "age") {
    return undefined; // 过滤掉 age 属性
  }
  return value;
});

console.log(jsonString);
// 输出:{"name":"John","city":"New York"}

使用 space 控制格式:

space 参数用于控制输出格式的缩进。可以是一个字符串,表示用于缩进的空白字符,也可以是一个数字,表示每一级缩进的空格数。
var jsonObject = {
  "name": "John",
  "age": 30,
  "city": "New York"
};

var jsonString = JSON.stringify(jsonObject, null, 2);

console.log(jsonString);
// 输出:
// {
//   "name": "John",
//   "age": 30,
//   "city": "New York"
// }

在这个例子中,space 参数设置为 2,使得输出的 JSON 字符串有更好的可读性。

总体而言,JSON.stringify() 是一个有用的工具,用于将 JavaScript 对象转换为 JSON 字符串,以便进行数据交换、存储或其他需要将对象序列化的场景。


转载请注明出处:http://www.pingtaimeng.com/article/detail/13194/JSON