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转成字符串显示,它是不包含空白符的,不方便人阅读。
在JSON.stringify方法一共能接受3个参数,其中两个可选的参数,最后一个参数是用来格式化显示的,我们看一下:
const students = [
{
name: 'akira',
score: 100,
}, {
name: 'John',