我的网页上有一个表,其中包含大约 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;
});