2017-04-25 11 views
-1

d3js(https://bl.ocks.org/mbostock/raw/4339083/)を使用してグラフを描画しようとしています。ここで問題のコードされた:未定義の各プロパティを読み取ることができません - d3js

d3.json("/MyController/MyAction", function (error, flare) { 
    if (error) throw error; 

    console.log(flare); 

    root = flare; 
    root.x0 = height/2; 
    root.y0 = 0; 

    function collapse(d) { 
    if (d.children) { 
     d._children = d.children; 
     d._children.forEach(collapse); 
     d.children = null; 
    } 
    } 

    root.children.forEach(collapse); 
    update(root); 
}); 

行:崩壊が定義されていないため

root.children.forEach(collapse); 

d._children.forEach(collapse); 

はエラーを与えます。 JSONオブジェクトが正しくないためにエラーが表示されますか?ありがとう。ここで

は私のコンソールログです:

{"name":"Country","children":[{"name":"City","children":[{"name":"County","children":[{"name":"Child1","size":2},{"name":"Child2","size":2},{"name":"Child3","size":2}]}]}]} 

あなたはこれで間違っているものを私に伝えることができますか?

+1

エラーが発生している完全な動作例を投稿できますか?このスニペットは私のコンソールで正しく動作します – bumbeishvili

答えて

0

あなたは、どこか別の場所からあなたが作品を投稿コードエラーを取得している:私は.jsonファイルに同じJSONを保存するとき、それが働いた..不思議

var height = 10; 
 
var root = { 
 
    "name": "Country", 
 
    "children": [{ 
 
    "name": "City", 
 
    "children": [{ 
 
     "name": "County", 
 
     "children": [{ 
 
     "name": "Child1", 
 
     "size": 2 
 
     }, { 
 
     "name": "Child2", 
 
     "size": 2 
 
     }, { 
 
     "name": "Child3", 
 
     "size": 2 
 
     }] 
 
    }] 
 
    }] 
 
} 
 

 
root.x0 = height/2; 
 
root.y0 = 0; 
 

 
function collapse(d) { 
 
    if (d.children) { 
 
    d._children = d.children; 
 
    d._children.forEach(collapse); 
 
    d.children = null; 
 
    } 
 
} 
 

 
root.children.forEach(collapse); 
 
console.log(root);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

+0

しかし、それらの行でエラーが発生しています。私は何をすべきか? – starrr

+0

多分もっとコードを投稿して、より多くのコンソール出力が役立つなら – thedude

関連する問題