JSON.stringify() 函数的妙用

@神秘人 前端 2020-05-26

JSON.stringify()  方法用于将 JavaScript 值转换为 JSON 字符串,而我们一般只是用了第一个参数,没有在意过第二个以及第三个参数的妙用

 

1.最常用的方式:

 const arr = [{name:"张三",age:15},{name:"李四",age:16}];

 const _arr = JSON.stringify(arr);

 console.log(_arr);

 输出 : "[{"name":"张三","age":15},{"name":"李四","age":16}]"

 想必这个大家都不陌生,这就是我们最常用的方式。

2.JSON.stringify() 的第二个参数为一个数组

 const arr = [{name:"张三",age:15},{name:"李四",age:16}];

 const _arr = JSON.stringify(arr,['name']);

 console.log(_arr);

 输出:"[{"name":"张三"},{"name":"李四"}]"

 怎么样,有没有很棒,是不是方便我们调试?

3.JSON.stringify() 的第二个参数为一个函数

 const obj = {name:"张三",age:15};

 const _obj = JSON.stringify(obj, function (key, val) {

                if (typeof val === 'string') return undefined;

                return val;

            })

 console.log(_obj);

 输出:"{age:15}";

 可以帮我们快速的去过滤数据

4. JSON.stringify() 第三个参数为一个字符串的时候

 const arr = [{name:"张三",age:15},{name:"李四",age:16}];

 const _arr =  JSON.stringify(arr,null,'*');

 注:在这里我使用 “  *  ” 号。

 console.log(_arr);

 输出: 

[*{

 **"name": "张三三",

 **"age": 15

 *},

 *{

 **"name": "李四四",

 **"age": 16

*}]

 用指定的字符串给我们添加缩进。

5.JSPN.stringify() 第三个参数为一个数字

 const arr = [{name:"张三",age:15},{name:"李四",age:16}];

 const _arr =  JSON.stringify(arr,null,2);

 console.log(_arr);

 输出:

JSON.stringify() 函数的妙用

为了让大家看的更清楚,我用图片代替,其实就是指定缩进的层级。

 



Apipost 私有化火热进行中

评论