能否修改上述代码,使得生成的data.json文件与html在同一目录下或者能由我指定生成目录
时间: 2024-04-12 20:32:31 浏览: 21
当使用浏览器的 JavaScript 环境时,通常无法直接指定文件的保存目录。浏览器会将下载的文件保存到默认的下载文件夹中。
如果您希望将生成的 "data.json" 文件保存在与 HTML 文件相同的目录下,您可以使用以下方法:
```javascript
const data = {
name: "John",
age: 30,
city: "New York"
};
const jsonData = JSON.stringify(data, null, 2);
const blob = new Blob([jsonData], { type: "application/json" });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "data.json";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
```
这段代码会动态创建一个 `<a>` 元素,将生成的 JSON 数据作为 Blob 对象的 URL,并将其设置为 `a` 元素的 `href` 属性。然后,通过模拟点击 `<a>` 元素,触发文件下载行为。这样就能将生成的 "data.json" 文件保存在与 HTML 文件相同的目录下。
请注意,在某些浏览器中,该方法可能会被弹窗拦截器拦截或被浏览器安全策略限制。在这种情况下,您可能需要手动保存生成的 JSON 数据并将其保存为 "data.json" 文件。