JSON.stringify如何实现数组对象每个单独占一行的格式化输出?
解决方案
该需求完全可以实现,直接利用JSON.stringify的原生参数即可完成格式化输出。
JSON.stringify 方法支持三个入参,你当前的需求只需要调整第三个缩进控制参数即可:
- 第一个参数:待序列化的 JavaScript 值,也就是你提供的对象数组,无需修改
- 第二个参数:replacer 替换规则,用于过滤输出属性,当前场景不需要额外控制,传入
null即可 - 第三个参数:缩进配置,指定格式化时的缩进空格数,你需要的效果对应3个空格缩进,直接传数值
3即可
调整后的完整代码如下:
let output = JSON.stringify([ { "Color": "Red", "Type":"Fast" }, { "Color": "Blue", "Type":"Slow" } ], null, 3);
执行上述代码后,输出结果就和你期望的带换行、对应层级缩进的格式完全一致。如果后续需要调整缩进大小,直接修改第三个参数的数值即可,比如传2就是2个空格缩进,传'\t'就是用制表符缩进。
内容的提问来源于stack exchange,提问作者DreadedSlug
相关产品推荐
相关产品推荐

