js点击按钮从服务器上下载json文件(不是打开文件)

html语法:

<div id="download">下载json</div>

js语法:

var jsonUrl = '/json/data.json';
function downloadJSON() {
  fetch(jsonUrl)
	.then(response => response.json()) // 将响应转换为JSON
	.then(data => {
	  // 将JSON数据转换为字符串
	  const jsonString = JSON.stringify(data);
 
	  // 创建一个Blob对象,类型为JSON文件的MIME类型
	  const blob = new Blob([jsonString], { type: 'application/json' });
 
	  // 创建一个指向Blob的URL
	  const url = URL.createObjectURL(blob);
 
	  // 创建一个a标签用于下载
	  const downloadLink = document.createElement('a');
	  downloadLink.href = url;
	  downloadLink.download = 'data.json'; // 下载文件的名称
 
	  // 触发下载
	  document.body.appendChild(downloadLink);
	  downloadLink.click();
 
	  // 清理并移除元素和Blob URL
	  document.body.removeChild(downloadLink);
	  URL.revokeObjectURL(url);
	})
	.catch(error => console.error('下载失败:', error));
}
document.getElementById('download').addEventListener('click', downloadJSON);