【问题标题】:Export a Json object to a text File将 Json 对象导出到文本文件
【发布时间】:2016-02-20 04:49:50
【问题描述】:

我正在尝试编写一个 Json 对象 (JsonExport),我想将其内容写入文本文件。

我正在使用 max4live 将音频 DAW 中的数据导出到 Json 以便导出到服务器,但之后我想在文本文件中查看整个 Json 对象:

 var txtFile = "test.txt";
 var file = new File(txtFile);
 var str = JSON.stringify(JsonExport);


 file.open("write"); // open file with write access
 file.write(str);
 file.close();

编译器运行没有错误,但我无法获取文本文件。我也使用了一些目录的路径,但什么也没有。

知道发生了什么吗?谢谢

【问题讨论】:

标签: javascript json fwrite max-msp-jitter


【解决方案1】:

如果您有权访问现有文件,只需链接到该文件即可。您可以指定下载的文件名是这样的:

<a href="path/to/file.txt" download="example.json">
    Download as JSON
</a>

如果需要,你也可以写出 dataURI

 //Get the file contents
 var txtFile = "test.txt";
 var file = new File(txtFile);
 var str = JSON.stringify(JsonExport);

 //Save the file contents as a DataURI
 var dataUri = 'data:application/json;charset=utf-8,'+ encodeURIComponent(str);

 //Write it as the href for the link
 var link = document.getElementById('link').href = dataUri;

然后给链接一个 ID 和一个默认的href

<a href="#" id="link" download="example.json">
    Download as JSON
</a>

【讨论】:

    【解决方案2】:

    我终于明白了!它通过像这样改变几个参数来工作:

       var txtFile = "/tmp/test.txt";
       var file = new File(txtFile,"write");
       var str = JSON.stringify(JsonExport);
    
       log("opening file...");
       file.open(); 
       log("writing file..");
       file.writeline(str);
       file.close();
    

    我的目录路径不允许,所以我必须将它保存在 /tmp 目录中。 谢谢大家!

    【讨论】:

    • 如果浏览器上运行javascript,我们可以使用这种方法写入txt文件吗?
    【解决方案3】:

    我知道这个问题已经接受了答案,但我认为我的答案可以帮助某人。因此,问题是将 Json 数据导出到文本文件。执行以下代码后,浏览器将下载文件。

    const filename = 'data.json';
    const jsonStr = JSON.stringify(JsonExport);
    
    let element = document.createElement('a');
    element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(jsonStr));
    element.setAttribute('download', filename);
    
    element.style.display = 'none';
    document.body.appendChild(element);
    
    element.click();
    
    document.body.removeChild(element);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 2013-12-13
      • 2020-02-02
      • 2010-10-08
      • 1970-01-01
      • 2019-04-29
      相关资源
      最近更新 更多