最近项目需求,展示格式化好的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)