0
我 大家好,我是javascript/D3.js編程新手。我需要調整代碼,我感覺有點失落。如何保存建立在d3.js腳本中的JSON數據
的主要問題是:如何保存JSON數據集在JavaScript
目前的代碼加載一個大的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.
\t var foundChild = false;
\t for (var k = 0; k < children.length; k++) {
\t if (children[k]["name"] == nodeName) {
\t childNode = children[k];
\t foundChild = true;
\t break;
\t }
\t }
// If we don't already have a child node for this branch, create it.
\t if (!foundChild) {
\t childNode = {"name": nodeName, "children": []};
\t children.push(childNode);
\t }
\t currentNode = childNode;
} else {
\t // Reached the end of the sequence; create a leaf node.
\t childNode = {"name": nodeName, "size": size};
\t children.push(childNode);
}
}
}
return root;
};
請定義* 「看」 *。如果你只是想看到對象,只要做'console.log(json)'。 –
謝謝Gerardo:我的目標是將對象保存在.JSON文件中。 最初我也試圖看看它,但我在設法做'while console.log(JSON.stringify(json))' – Flecflec