首先,让我们看一下
d3.json。
d3.json("/assets/flare.json", function(root) { // pre that uses the object 'root'});这
/assets/flare.json将从服务器加载文件,将内容解释为JSON,并将结果对象作为
root参数传递给匿名函数。
如果您已经有了JSON对象,则无需使用该
d3.json函数-您可以直接使用该对象。
var root = { "name": "flare", "children": [ ... ]};// pre that uses the object 'root'如果对象表示为字符串,则可以使用
JSON.parse获取对象:
var myString = '{"name": "flare","children": [ ... ] }';var root = JSON.parse(mystring);// pre that uses the object 'root'其次,让我们看看
d3.layout.cluster您对数据的期望。根据文档:
…默认的子级访问器假定每个输入数据都是具有子级数组的对象…
换句话说,您的数据必须采用以下形式:
var mystring = '{ "name": "Product", "children": [ { "name": "id", "type": "number", "description": "Product identifier", "required": true }, ... { "name": "stock", "type": "object", "children": [ { "name: "warehouse", "type": "number" }, { "name": "retail", "type": "number" } ] } ]}


