2015-11-04 53 views
1

我已经创建了用于存储某些数据的脚本。函数demo以JSON格式返回数据。但我想为我的外部项目创建一个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')); 

我的问题:有没有可能将“数据”变量导出到file.txt?

+0

我假设你在谈论客户端 - 为什么将它保存到文件而不是localStorage? – davidkonrad

回答

0

您可以使用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