2015-12-08 13 views
17

Say mam javascript obiekt, który wygląda tak:Jak mogę zapisać JSON do lokalnego pliku tekstowego

var data = { 
     name: "cliff", 
     age: "34", 
     name: "ted", 
     age: "42", 
     name: "bob", 
     age: "12" 
    } 

var jsonData = JSON.stringify(data); 

I stringify go przekonwertować do formatu JSON. Jak mogę zapisać JSON do lokalnego pliku tekstowego, więc mogę go otworzyć, powiedzmy, w Notatniku itp

Odpowiedz

38

node.js:

var fs = require('fs'); 
fs.writeFile("test.txt", jsonData, function(err) { 
    if(err) { 
     return console.log(err); 
    } 
}); 

przeglądarkowe (WebAPI):

function download(text, name, type) { 
    var a = document.createElement("a"); 
    var file = new Blob([text], {type: type}); 
    a.href = URL.createObjectURL(file); 
    a.download = name; 
    a.click(); 
} 
download(jsonData, 'test.txt', 'text/plain'); 
+0

Idealny. Dziękuję Ci. Wiem, że to zupełnie inne pytanie, jak trudno jest uzyskać chrome, aby załadować JSON z lokalnego pliku? Przeczytaj kilka miejsc, w których nie jest to możliwe ze względu na zabezpieczenia Chrome ... – thatOneGuy

+2

jest to możliwe, wystarczy użyć znacznika wejściowego z typem = plik, jak pokazano tutaj: http://stackoverflow.com/questions/13709482/how-to- read-text-file-in-javascript –

+0

właśnie zaoszczędziłeś mi dużo czasu. Bardzo doceniane. Dziękuję :)) – thatOneGuy

2

Oto rozwiązanie na czystym js. Możesz to zrobić za pomocą narzędzia save5 w html5. Na przykład ta biblioteka może być pomocna: https://github.com/eligrey/FileSaver.js
Zobacz demo: http://eligrey.com/demos/FileSaver.js/
P.S. Nie ma informacji o zapisie json, ale można to zrobić, zmieniając typ pliku na "application/json" i formatuje się na .json

+0

"application/json" i .json działa dobrze z systemem plików html. Również za pomocą tego, aby zapobiec błędom analizy json, takich jak "nieoczekiwany token? W JSON". Dzięki. –

Powiązane problemy