我已经创建了用于存储一些数据的脚本。 函数demo以JSON格式返回数据。 但我想为我的外部项目创建一个JSON文件。
var demo = function(table) { // JSON file var data = []; var headers = []; headers[0] = 'img'; // filling headers for( var i = 1; i < table.rows[0].cells.length; i++ ) { headers.push(table.rows[0].cells[i].children[0].text.toLowerCase().replace(/\s/g, '')); }; for( var i = 1; i < table.rows.length; i++ ) { var obj = {}; for( var j = 0; j < table.rows[i].cells.length; j++ ) { var cells = table.rows[i].cells[j]; switch (headers[j]) { case 'img': obj[headers[j]] = cells.childNodes[0].childNodes[0].getAttribute('src'); break; case 'name': obj[headers[j]] = cells.childNodes[0].text; break; default: obj[headers[j]] = cells.innerHTML; break; } } data.push(obj); } return data; } demo(document.getElementById('the_list'));我的问题:有没有可能将“data”变量导出到file.txt?
I have created script for storing some data. Function demo returns data in JSON format. But I want to create a JSON file for my external project.
var demo = function(table) { // JSON file var data = []; var headers = []; headers[0] = 'img'; // filling headers for( var i = 1; i < table.rows[0].cells.length; i++ ) { headers.push(table.rows[0].cells[i].children[0].text.toLowerCase().replace(/\s/g, '')); }; for( var i = 1; i < table.rows.length; i++ ) { var obj = {}; for( var j = 0; j < table.rows[i].cells.length; j++ ) { var cells = table.rows[i].cells[j]; switch (headers[j]) { case 'img': obj[headers[j]] = cells.childNodes[0].childNodes[0].getAttribute('src'); break; case 'name': obj[headers[j]] = cells.childNodes[0].text; break; default: obj[headers[j]] = cells.innerHTML; break; } } data.push(obj); } return data; } demo(document.getElementById('the_list'));My question: Is there any possible to export "data" variable to file.txt ?
最满意答案
您可以使用FileSaver.js - > https://github.com/eligrey/FileSaver.js
以下是保存JSON变量的示例:
var json = { "test" : "qwerty" } document.getElementById('save').onclick = function() { var textToSave = JSON.stringify(json), filename = 'file.txt', blob = new Blob([textToSave], {type: "text/plain;charset=utf-8"}); saveAs(blob, filename); }工作小提琴 - > http://jsfiddle.net/sf0o8d4j/1/
但正如在评论中提到的,我真的不知道为什么你应该将它作为文件在客户端文件系统上本地保存,而不是使用localStorage 。
You can use FileSaver.js -> https://github.com/eligrey/FileSaver.js
Here is an example saving a JSON variable :
var json = { "test" : "qwerty" } document.getElementById('save').onclick = function() { var textToSave = JSON.stringify(json), filename = 'file.txt', blob = new Blob([textToSave], {type: "text/plain;charset=utf-8"}); saveAs(blob, filename); }working fiddle -> http://jsfiddle.net/sf0o8d4j/1/
But as mentioned in comment, I really cant see why you should save it as a file locally on the client filesystem rather than using localStorage.
更多推荐
发布评论