我有一个字典,我想打印到多行的txt文件。
为实现这一目标,我是:
1)通过JSON.stringify(dict)将dict转换为字符串
2)将字符串输入Blob并保存
我遇到的麻烦是输出是一个非常丑陋的单行字典结果,如下所示:
{"key1":"value1","key2":"value2","key3":"value3",etc}
但我想这样:
key1:value1
key2:value2
key3:value3
etc.
我怎样才能做到这一点?
result = JSON.stringify(dict);
// Create blob instance and input the string
var blob1 = new Blob([result], { type: "text/plain" });
url = window.URL.createObjectURL(blob1);
// Create link to download the blob as txt file
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
a.href = url;
a.setAttribute("download","My Open Tabs");
a.click();
window.URL.revokeObjectURL(url);
答案 0 :(得分:1)
要获得与预期相似的效果,可以向JSON.stringify
添加参数。
JSON.stringify({ key1: 'value1', key2: 'value2' }, null, '\n'); // Unix
JSON.stringify({ key1: 'value1', key2: 'value2' }, null, '\r\n'); // Windows
感谢@Fefux提到Windows和Unix之间的区别!
第三个参数接受所需的分隔符。