从浏览器下载JSON对象作为文件

我有以下代码让用户下载csv文件中的数据字符串。


exportData = 'data:text/csv;charset=utf-8,';

exportData += 'some csv strings';

encodedUri = encodeURI(exportData);

newWindow = window.open(encodedUri);

它工作得很好,如果客户端运行代码它生成空白页并开始下载csv文件中的数据。


所以我尝试用JSON对象做这个


exportData = 'data:text/json;charset=utf-8,';

exportData += escape(JSON.stringify(jsonObject));

encodedUri = encodeURI(exportData);

newWindow = window.open(encodedUri);

但我只看到一个页面上显示了JSON数据,而不是下载它。


我进行了一些研究,这个人声称可以工作,但我认为我的代码没有任何区别。


我在代码中遗漏了什么吗?


感谢您阅读我的问题:)


九州编程
浏览 915回答 3
3回答

交互式爱情

找到答案。var obj = {a: 123, b: "4 5 6"};var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));$('<a href="data:' + data + '" download="data.json">download JSON</a>').appendTo('#container');似乎对我来说很好。**所有的归功于@ cowboy-ben-alman,他是上面代码的作者**
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript