且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

JS: json 数据转化为 demo.json 并下载文件

更新时间:2022-08-17 15:02:13

思路:Json对象转为字符串文本处理

代码示例

function download (url, name) {
  const a = document.createElement('a')
  a.download = name
  a.rel = 'noopener'
  a.href = url
  // 触发模拟点击
  a.dispatchEvent(new MouseEvent('click'))
  // 或者 a.click()
}

const json = {
  a: 3,
  b: 4,
  c: 5
}
const str = JSON.stringify(json, null, 2)

// 方案一:Text -> DataURL
const dataUrl = `data:,${str}`
download(dataUrl, 'demo.json')

// 方案二:Text -> Blob -> ObjectURL
const url = URL.createObjectURL(new Blob(str.split('')))
download(url, 'demo1.json')

参考

如何把 json 数据转化为 demo.json 并下载文件