如何将JavaScript对象下载为格式化JSON文件(无需第三方库)
解决方法
直接利用原生JSON.stringify的第三个参数就能实现格式化输出,不需要任何第三方库。
JSON.stringify的完整语法是:
JSON.stringify(value, replacer, space)
其中第三个参数space用于控制格式化的缩进:
- 传数字:表示用多少个空格缩进(最多支持10个)
- 传字符串:比如
'\t',会用制表符作为缩进
修改你的函数,只要给JSON.stringify加上第三个参数即可:
downloadJSON(jsonFile: any, fileName: string){ // 第三个参数传2,表示用2个空格缩进格式化JSON let sJson = JSON.stringify(jsonFile, null, 2); let file = new Blob([sJson], {type: 'application/json'}) let element = document.createElement('a'); let url = URL.createObjectURL(file); element.setAttribute('href', url); element.setAttribute('download', fileName); element.style.display = 'none'; document.body.appendChild(element); element.click(); // simulate click document.body.removeChild(element); }
如果想用制表符缩进,把第三个参数改成'\t'就行:
let sJson = JSON.stringify(jsonFile, null, '\t');
内容的提问来源于stack exchange,提问作者iamcootis
相关产品推荐
相关产品推荐

