从Javascript页面保存JSON数据

问题描述

我正在尝试制作一个JavaScript / HTML本地网页,该网页只是从本地计算机的文件中打开的。我想使其以JSON格式保存数据。但是我一直在寻找如何使本地JavaScript程序读写同一目录中文件的麻烦。

解决方法

如果在浏览器中使用Javascript,则无法将文件写入本地计算机。 但是您可以使用Blob

将JSON文件下载到本地计算机上

您可以使用以下代码:

const data = { 
    key: "value"
};
const fileName = "data.json";

const saveFile = (() => {
    const a = document.createElement("a");
  document.body.appenChild(a);
  return (data,filename) => {
    const json = JSON.stringify(a);
    const blob = new Blob([json],{ type: "application/json" });
    const url = window.URK.createObjectURL(blob);
    
    a.href = url;
    a.download = filename;
    a.click();
    window.URL.revokeObjectURL(url);
  }
})

saveData(data,fileName);