从变量导出到JSON文件

时间:2015-11-04 20:14:50

标签: javascript json variables export

我已经创建了用于存储一些数据的脚本。函数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?

1 个答案:

答案 0 :(得分:0)

您可以使用FileSaver.js - &gt;的 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);
}

工作小提琴 - &gt; http://jsfiddle.net/sf0o8d4j/1/

但正如评论中所提到的,我真的不明白为什么你应该将它作为文件本地保存在客户端文件系统上,而不是使用localStorage