day2 JSON.stringify() 的使用

day1到day2好像相隔了很久。。。没事,还是有了day2了

之前一直都是做活动页,基本上没有接触到数据接口这些,所以也一直没有接触过 JSON.stringify() 这个函数。今天就深入理解下吧

1.定义

JSON.stringify() 方法用于将JavaScript值转成JSON字符串。

2.语法

JSON.stringify(value[, replacer[, space]])
//一般情况下面的用法
JSON.stringify(data,null,2)

参数说明

  • value
    必需,一个有效的JSON 字符串.
  • replacer
    可选,用于转换结果的函数或数组.
  • space
    可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返 回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 有可以使用非数字,如:\t。

3.高级说明

  • 按照 JSON 的规范,使用 JSON.stringify() 做对象序列化时,如果一个属性为函数,那这个属性就会被忽略。
const data2 = {
  a: 'aaa',
  fn: function() {
    return true
  }
}
JSON.stringify(data)

// 结果是  "{"a":"aaa"}"
  • 还有一种情况,一个属性的值为 undefined
const data2 = {
  a: 'abc',
  b: undefined
}
JSON.stringify(data2)

// 结果是  "{"a":"abc"}"
  • 如果属性为 null 则可以正常序列化这个属性:
const data3 = {
  a: 'abc',
  b: null
}
JSON.stringify(data3)

// 结果是  "{"a":"abc","b":null}"

因为 null 可表示已经赋值,而 undefined 表示未定义、为赋值,所以执行 JSON.stringify 不会处理。

你可能感兴趣的:(day2 JSON.stringify() 的使用)