我的网页上有一个表,其中包含大约 10,000行。我使用 tabletoJson npm包将html表数据转换为JSON对象。现在,将此对象写入 json文件并下载相同的,我正在执行以下操作。

HTML

<a id="json_gene" href="" download="tgen_json.json">
  <button id="bmss" type="button" class="btn btn-primary exscel">Download Json</button>
</a>

Js
$("body").on("click", "#json_gene", function () {
  var table = $('#data_table').tableToJSON();
  table = {"data": table};
  table = JSON.stringify(table)
  this.href = "data:text/plain;charset=UTF-8,"  + encodeURIComponent(table);
});

当表中有大约8000行的行时,将下载json文件。但是当它超过10000行时,由于数据附加到URL 本身中,因此j 子文件无法下载,因为我认为它也有特定的限制。

请为这个json下载建议替代方法。

最佳答案

您可以使用 URL.createObjectURL api创建虚拟文件链接。

$("body").on("click", "#json_gene", function() {
  var blobPart = [$('#data_table').tableToJSON()];
  var blob = new Blob(blobPart, {
    type: "application/octet-stream"
  });
  var urlObj = URL.createObjectURL(blob);
  this.href = urlObj;
});

07-24 09:50
查看更多