The front end generates a json file and exports it
1. Get the data in json format returned by the backend,
For example:
{
name:'json文件',age:'18'}
2. Export this content as a file in .json format
//生成json文件
createJSON(data, filename){
//参数1:json数据;参数2:自定义导出的文件名
if(!data) {
layer.msg('无数据', {
icon: 7})
return;
}
if(!filename) filename = '未定义.json' //如果没有文件名,设置默认文件名
if (typeof data === "object") data = JSON.stringify(data)
let blob = new Blob([data], {
type: 'text/json'})
let e = document.createEvent('MouseEvents')
let a = document.createElement('a')
a.download = filename
a.href = window.URL.createObjectURL(blob)
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
},
//调用
this.createJSON(JsonData,'春天.json')//注意这个名字必须带.json
Method 2:
this.www={
a:'xzx',b:'552'}
download(){
const {
cells: jsonArr} = this.www.toJSON()
var data = JSON.stringify(jsonArr)
let uri = 'data:text/csv;charset=utf-8,ufeff' + encodeURIComponent(data);
let link = document.createElement("a");
link.href = uri;
link.download = "xxxxxx.json";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
},