格式化json_【前端冷知识】你会用JS格式化JSON吗?

本文详细介绍了JSON.stringify()方法,包括如何使用其格式化参数以提高可读性,如何通过参数控制序列化的属性以及利用replacer函数进行数据转换。通过实例展示了如何过滤和替换对象属性,以及防止递归导致的堆栈溢出问题。同时提到了与之配合的JSON.parse()的额外参数功能。
摘要由CSDN通过智能技术生成

JSON.stringify是一个基本上所有前端工程师都不陌生的方法。

?? JSON(JavaScript Object Notation)是由ECMA标准化(ECMA-404)的一种轻量级的数据交换格式。它来源于ECMAScript,是一种便于人阅读和理解的数据交换格式,目前被几乎所有的主流语言和平台支持。

JSON.stringify和JSON.parse是一对处理数据的常用方法,前者将JavaScript的对象转为JSON字符串,后者将一个JSON串解析为JavaScript的对象。

const obj = { foo: 'bar'};

const str = JSON.stringify(obj); // {"foo":"bar"}

console.log(str);

const obj2 = JSON.parse(str);

console.log(obj2); // [Object object]{foo: "bar"}

JSON作为数据格式,既能被平台处理,又能方便人阅读,JavaScript的JSON.stringify在处理数据的时候同时考虑了数据转换和方便阅读,只不过,方便阅读这一点,常常被人忽略。

我们看一下

<textarea id="show-score">textarea>

const students = [

  {

    name: 'akira',

    score: 100,

  }, {

    name: 'John',

    score: 60,

  }, {

    name: 'Jane',

    score: 90,

  }

];

const textarea = document.getElementById('show-score');

textarea.textContent = JSON.stringify(students);

上面的代码,我们将学生成绩单显示在页面上一个textarea里,如果我们直接将students通过JSON.stringify转成字符串显示,它是不包含空白符的,不方便人阅读。

b4d177eabcc951d43e5a4e8f7c478536.png

在JSON.stringify方法一共能接受3个参数,其中两个可选的参数,最后一个参数是用来格式化显示的,我们看一下:

const students = [

  {

    name: 'akira',

    score: 100,

  }, {

    name: 'John',

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值