Digamos que tengo un objeto javascript que se parece a esto:
var data = {
name: "cliff",
age: "34",
name: "ted",
age: "42",
name: "bob",
age: "12"
}
var jsonData = JSON.stringify(data);
Lo modifico para convertirlo a JSON. ¿Cómo guardo este JSON en un archivo de texto local para poder abrirlo, digamos, en el Bloc de notas, etc.?
javascript
json
thatOneGuy
fuente
fuente
[object Object]
cuando hago esto[object Object]
... Tuve que llamarJSON.stringify()
primero y pasar ese valor, en lugar del objeto en sí.a.click()
, debemos llamarrevokeObjectURL
para que el navegador sepa que no debe guardar más la referencia al archivo:URL.revokeObjectURL(a.href).
Más información: developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL .Aquí hay una solución en js puro. Puedes hacerlo con html5 saveAs. Por ejemplo, esta lib podría ser útil: https://github.com/eligrey/FileSaver.js
Mire la demostración: http://eligrey.com/demos/FileSaver.js/
PD No hay información sobre json save, pero puede hacerlo cambiando el tipo de archivo
"application/json"
y el formato a.json
fuente
Es mi solución para guardar datos locales en un archivo 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>
fuente