JSON.stringify()

1,485 阅读1分钟

最近项目需求,展示格式化好的json字符串

刚开始是用递归来插入回车符和空格的

非常复杂又有问题

后经查阅资料发现原来JSON.stringify()加几个参数就搞定

非常简单

JSON.stringify()

JSON.stringify(value[, replacer[, space]])

经查阅才知道JSON.stringify()不仅是有一个参数的

参数说明

value:

必需, 要转换的`JavaScript`值(通常为对象或数组)。

replacer:

可选。用于转换结果的函数或数组。

如果`replacer`为函数,则`JSON.stringify`将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 `undefined`,则排除成员。根对象的键是一个空字符串:""。

如果`replacer`是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。

space:

可选,文本添加缩进、空格和换行符,如果`space`是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果`space`大于 10,则文本缩进`10`个空格。space 也可以使用非数字,如:`\t`。

需求实现

格式化,缩进为2个空格:

JSON.stringify(str, null, 2)