原生js实现导入导出的逻辑
时间: 2024-05-20 19:16:08 浏览: 8
导入和导出数据的逻辑可以通过以下代码实现:
// 导出数据
function exportData(data) {
const jsonData = JSON.stringify(data);
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);
URL.revokeObjectURL(url);
}
// 导入数据
function importData(callback) {
const input = document.createElement("input");
input.type = "file";
input.accept = ".json";
input.onchange = function () {
const file = input.files[0];
const reader = new FileReader();
reader.readAsText(file);
reader.onload = function () {
const jsonData = reader.result;
const data = JSON.parse(jsonData);
callback(data);
};
};
input.click();
}
// 使用示例
const data = [{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }];
// 导出数据
exportData(data);
// 导入数据
importData((data) => {
console.log(data);
});