2015-11-04 48 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