JSON.stringify的使用和三个参数

一般情况下,我们使用JSON.stringify() 是为了将一个对象转为字符串输出。

(1)第一个参数是我们要字符串化的对象或者数组,但是其实它还有第二个/第三个参数哦

let obj = {
  name: '良人',
  age: 18,
  hobby: 'play'
}

console.log(JSON.stringify(obj))
// {"name":"良人","age":18,"hobby":"play"}

(2)第二个参数,为数组时,将key作为关键字打印我们需要的信息

let obj = {
  name: '良人',
  age: 18,
  hobby: 'play'
}

console.log(JSON.stringify(obj, ['hobby']))
// {"hobby":"play"}

console.log(JSON.stringify(obj, ['aaaa']))
// "{}"

console.log(JSON.stringify(obj, ['aaaa', 'name']))
// {"name":"良人"}

第二个参数,为函数时

let obj = {name: 'lily', age: 18}
console.log(223, JSON.stringify(obj, (key, value) => {
  if (key === 'name') {
    return 111111
  }
  return value // 这里的return返回的是修改过后的整个值,一定要返回哦
}))
// "{"name":111111,"age":18}"

(3)第三个参数为字符串或数值时, 字符串会以该字符向前填充,数值则按照tab键个数填充

let obj = {
  name: '良人',
  age: 18,
  hobby: 'play'
}

console.log(JSON.stringify(obj, null, '***'))

// "{
// ***"name": "良人",
// ***"age": 18,
// ***"hobby": "play"
// }"

console.log(JSON.stringify(obj, null, 8))
// {
//         "name": "良人",
//         "age": 18,
//         "hobby": "play"
// }

(4)对象可以定义一个toJSON 方法,JSON.stringify时得到这个方法返回的值

const obj = {
 name : '良人',
 age : 18,
 hobby: 'play',
 toJSON() {
    return { 
      myInfo: `${this.name} + ${this.age}`
    }
 }
}

console.log(JSON.stringify(obj))
// "{"myInfo":"良人 + 18"}"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值