在 React 中将对象转换为 JSON 并作为 .json 文件下载

2024-03-04

我有一个包含一些信息的 javascript 对象。 我想将其转换为 JSON 并将其下载为 .json 文件。 看来我只能JSON.stringify(obj)将其转换为 JSON 但我如何实际将其下载为 .json 文件呢?


如果您只是想通过 JavaScript 下载数据,我不确定这是一个特定于 React 的问题,但这里有一个我使用的代码片段,它创建一个链接来下载数据内容,虚拟单击该元素,最后将其从DOM。它应该支持现代浏览器和旧版 IE:

private exportToJson(objectData: SomeObject) {
    let filename = "export.json";
    let contentType = "application/json;charset=utf-8;";
    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
      var blob = new Blob([decodeURIComponent(encodeURI(JSON.stringify(objectData)))], { type: contentType });
      navigator.msSaveOrOpenBlob(blob, filename);
    } else {
      var a = document.createElement('a');
      a.download = filename;
      a.href = 'data:' + contentType + ',' + encodeURIComponent(JSON.stringify(objectData));
      a.target = '_blank';
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);
    }
  }

还值得注意的是,有多种方法可以解决这个问题,如所引用的在这个问题中 https://stackoverflow.com/questions/3749231/download-file-using-javascript-jquery.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 React 中将对象转换为 JSON 并作为 .json 文件下载 的相关文章

随机推荐