Express Node.js环境下JSON文件换行拆分问题代码求助
你贴出的页面数据抓取逻辑没有问题,无法实现JSON换行拆分的核心原因是:Express的res.json()默认会输出压缩后的单行JSON,不会主动添加换行和缩进。
解决方法
1. 单次接口适配
直接替换原有res.json(articles)代码即可:
// 第三个参数2代表缩进2个空格,可按需修改为4等其他数值 res.send(JSON.stringify(articles, null, 2))
2. 全局统一适配
在Express项目的入口文件(一般为app.js/index.js)中添加全局配置,后续所有接口调用res.json()都会自动输出带换行缩进的格式化JSON:
const app = express() // 新增这一行配置,2代表缩进2个空格 app.set('json spaces', 2)
注意事项
生产环境建议关闭JSON格式化配置,压缩后的JSON体积更小,可降低传输带宽占用、提升接口响应速度。
如果你需要将JSON写入本地文件存储,只需在写入前用JSON.stringify(articles, null, 2)处理内容后再写入即可。
内容的提问来源于stack exchange,提问作者ardadev
相关产品推荐
相关产品推荐

