gpt4 book ai didi

javascript - 如何保存在 d3.js 脚本中构建的 JSON 数据

转载 作者:行者123 更新时间:2023-12-03 11:24:45 24 4
gpt4 key购买 nike


大家好,我是 javascript/D3.js 编程的新手。我需要调整一个代码,我觉得有点失落。

主要问题是:如何在 javascript 中保存 JSON 数据集

当前代码正在加载一个大的 csv 文件,对其进行解析和格式化。
我想将文件管理部分移动到另一个程序中,但要移动到 直接获取格式好的文件 ,我想通过运行此代码并保存输出来直接保存它(即:json = buildHierarchy(csv);)。

谢谢 您的帮助 !

d3.text("myfile.csv", function(text) {
var csv = d3.csv.parseRows(text);
var json = buildHierarchy(csv); //-- THIS IS WHAT I NEED TO SAVE (OR SEE)
});

// function to adjust data

function buildHierarchy(csv) {
var root = {"name": "root", "children": []};
for (var i = 0; i < csv.length; i++) {
var sequence = csv[i][0];
var size = +csv[i][1];
if (isNaN(size)) { // e.g. if this is a header row
continue;
}
var parts = sequence.split("-");
var currentNode = root;
for (var j = 0; j < parts.length; j++) {
var children = currentNode["children"];
var nodeName = parts[j];
var childNode;
if (j + 1 < parts.length) {
// Not yet at the end of the sequence; move down the tree.
var foundChild = false;
for (var k = 0; k < children.length; k++) {
if (children[k]["name"] == nodeName) {
childNode = children[k];
foundChild = true;
break;
}
}
// If we don't already have a child node for this branch, create it.
if (!foundChild) {
childNode = {"name": nodeName, "children": []};
children.push(childNode);
}
currentNode = childNode;
} else {
// Reached the end of the sequence; create a leaf node.
childNode = {"name": nodeName, "size": size};
children.push(childNode);
}
}
}
return root;
};

最佳答案

我终于设法使用 saveAs 保存了我的文件函数来自 https://github.com/eligrey/FileSaver.js/

var blob = new Blob([JSON.stringify(json)], {type: "text/plain;charset=utf-8"});  
saveAs(blob, "sequence_dl.JSON");

关于javascript - 如何保存在 d3.js 脚本中构建的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46399237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com