Powiedzmy, że mam obiekt javascript, który wygląda następująco:
var data = {
name: "cliff",
age: "34",
name: "ted",
age: "42",
name: "bob",
age: "12"
}
var jsonData = JSON.stringify(data);
Podkreślam to, aby przekonwertować na JSON. Jak zapisać ten JSON w lokalnym pliku tekstowym, aby móc go otworzyć, powiedzmy, w Notatniku itp.
javascript
json
thatOneGuy
źródło
źródło
[object Object]
kiedy to robię[object Object]
... MusiałemJSON.stringify()
najpierw zadzwonić i przekazać tę wartość, a nie sam obiekt.a.click()
powinniśmy zadzwonićrevokeObjectURL
, aby przeglądarka wiedziała, że nie ma już odniesienia do pliku:URL.revokeObjectURL(a.href).
Więcej informacji: developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL .Oto rozwiązanie dotyczące czystego js. Możesz to zrobić za pomocą html5 saveAs. Na przykład ta biblioteka może być pomocna: https://github.com/eligrey/FileSaver.js
Obejrzyj demo: http://eligrey.com/demos/FileSaver.js/
PS Nie ma informacji o zapisywaniu json, ale możesz to zrobić zmieniając typ pliku na
"application/json"
i format na.json
źródło
Moim rozwiązaniem jest zapisywanie danych lokalnych do pliku txt.
function export2txt() { const originalData = { members: [{ name: "cliff", age: "34" }, { name: "ted", age: "42" }, { name: "bob", age: "12" } ] }; const a = document.createElement("a"); a.href = URL.createObjectURL(new Blob([JSON.stringify(originalData, null, 2)], { type: "text/plain" })); a.setAttribute("download", "data.txt"); document.body.appendChild(a); a.click(); document.body.removeChild(a); }
<button onclick="export2txt()">Export data to local txt file</button>
źródło