The front end generates a json file and exports it

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);
      },

Guess you like

Origin blog.csdn.net/zzzz121380/article/details/126348427