다음과 같은 javascript 객체가 있다고 가정합니다.
var data = {
name: "cliff",
age: "34",
name: "ted",
age: "42",
name: "bob",
age: "12"
}
var jsonData = JSON.stringify(data);
JSON으로 변환하기 위해 문자열 화합니다. 이 JSON을 메모장 등에서 열 수 있도록 로컬 텍스트 파일에 저장하려면 어떻게해야합니까?
답변
Node.js :
var fs = require('fs');
fs.writeFile("test.txt", jsonData, function(err) {
if (err) {
console.log(err);
}
});
브라우저 (webapi) :
function download(content, fileName, contentType) {
var a = document.createElement("a");
var file = new Blob([content], {type: contentType});
a.href = URL.createObjectURL(file);
a.download = fileName;
a.click();
}
download(jsonData, 'json.txt', 'text/plain');
답변
다음은 순수한 js에 대한 해결책입니다. html5 saveAs로 할 수 있습니다. 예를 들어이 lib가 도움이 될 수 있습니다. https://github.com/eligrey/FileSaver.js
데모를보십시오 : http://eligrey.com/demos/FileSaver.js/
PS json 저장에 대한 정보는 없지만 파일 유형을 변경 "application/json"
하고 형식을.json
답변
로컬 데이터를 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>