鲜为人知的 JSON.stringify 用法


当前第2页 返回上一页

1

2

3

4

5

6

7

JSON.stringify(boy, (key, value) => {

  if (typeof value === 'string') {

    return undefined

  }

  return value

})

// {"age":23,"hobbies":{}}

第三个参数

第三个参数 space 控制了转换后的 JSON 串的间距。

如果参数是数字,则以该数字个数的空格进行缩进:

1

2

3

4

5

6

JSON.stringify(boy, null, 2)

// {

//   "name": "John",

//   "age": 23,

//   "hobbies": {}

// }

而如果参数是字符串,则以该字符串进行缩进:

1

2

3

4

5

6

JSON.stringify(boy, null, '--')

// {

//   --"name": "John",

//   --"age": 23,

//   --"hobbies": {}

// }

toJSON 方法

如果我们要转换的对象具有一个 toJSON 方法,那么就可以定制自己被序列化的过程。您可以从方法中返回一个新值,而不是序列化该对象,并且此值将被序列化,而不是原始对象。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

const boy = {

  name: 'John',

  age: 23,

  hobbies: new Map([[0, 'coding'], [1, 'earn money']]),

  toJSON() {

    return {

      name: `${this.name} (${this.age})`,

      favorite: this.hobbies.get(0)

    }

  }

}

 

JSON.stringify(boy)

// {"name":"John (23)","favorite":"coding"}

是不是很有趣?有时候仔细看一些文档还是很有用的~

参考文章

  • 原文地址:https://mp.weixin.qq.com/s/_e83_G7RjVt2eR_ro7blOA

  • MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

本文来自 js教程 栏目,欢迎学习!

以上就是鲜为人知的 JSON.stringify 用法的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

javascript用什么方法触发按钮的被点击事件

node.js和javascript区别是什么

javascript截取字符串的方法有哪些

深入浅析js中的逻辑赋值运算符

asp与javascript的区别是什么

javascript语言有哪些特点

javascript中求和的方法

javascript删除数组元素的方法

javascript如何捕获窗口关闭事件

iview组件事件额外传递参数的代码示例

更多相关阅读请进入《JSON》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...