如何通过Axios将JSON数据以美观格式写入文件?
解决JSON存储为单行压缩格式的问题
问题的核心在于你使用JSON.stringify()时没指定格式化参数,默认情况下它会输出紧凑的单行JSON,而RethinkDB里的美观格式是经过缩进和换行处理的。
修改方案
只需要给JSON.stringify()添加两个额外参数,就能让输出的JSON保持和RethinkDB里一致的美观格式:
await axios.post(config.baseURL + '/save-menu', { filename: rawConfigs[0].repoSettings[0].BaseURL + '/public/log.md', text: JSON.stringify(job.log, null, 2), // 关键修改:添加缩进参数 type: 'file' }).catch((e) => { console.log(e) })
参数解释
- 第二个参数
null:表示不需要自定义替换函数,直接序列化所有可序列化的属性 - 第三个参数
2:指定用2个空格作为缩进(你也可以换成'\t'用制表符缩进,根据你的偏好调整)
这样修改后,存储到log.md里的内容就会和RethinkDB中的格式一样,带有清晰的换行和缩进,不再是压缩的单行格式了。
内容的提问来源于stack exchange,提问作者Gaurav Kumar
相关产品推荐
相关产品推荐

