2017-09-25 6 views
0

I こんにちは、私はjavascript/D3.jsプログラミングの新人です。私はコードを調整する必要があり、私は少し失われた感じ。d3.jsスクリプトに組み込まれたJSONデータを保存するには

主な問題は、現在のコードは、大きなCSVファイルをロードし解析しているjavascriptの

でJSONデータセットを保存し、それをフォーマットする方法。 ファイル管理部分を別のプログラムに移動したいが、に直接形式のファイルを取得するには、このコードを実行して出力を保存して直接保存します(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; 
 
};

+0

からsaveAs機能を使用して、私のファイルをしてください保存するために管理し、* "見る" *を定義します。単にオブジェクトを見たい場合は 'console.log(json)'を実行してください。 –

+0

ありがとうGerardo:私の目標は、オブジェクトを.JSONファイルに保存することです。 最初は私も見てみましたが、その間に 'console.log(JSON.stringify(json))'を使ってやりました。 – Flecflec

答えて

関連する問題