Javascript 如何在D3中导入json数据?

Javascript 如何在D3中导入json数据?,javascript,json,d3.js,Javascript,Json,D3.js,如何在D3中导入json文件 我做了d3.json(“temp.json”) 但是如何在进一步的代码中访问此数据集 到目前为止,我已经尝试: var data=d3.json("temp.json"); 但在代码的其余部分中,使用.data(数据)并不起作用。比如说这里, var rows = g.selectAll("g.row") .data(data) .enter().append("g") .attr({ "class": "row", "transform": functi

如何在D3中导入json文件

我做了
d3.json(“temp.json”)

但是如何在进一步的代码中访问此数据集

到目前为止,我已经尝试:

var data=d3.json("temp.json");
但在代码的其余部分中,使用.data(数据)并不起作用。比如说这里,

var rows = g.selectAll("g.row")
.data(data)
.enter().append("g")
.attr({
  "class": "row",
  "transform": function(d, i) {
    var tx = 170 + i * squareWidth;
    var ty = 150;
    return "translate(" + [tx, ty] + ")"
  }
});
它无法访问数据。我将json复制粘贴到变量中,效果很好。因此,数据本身没有问题。

该函数是异步的。因此,在读取
数据
变量之前,必须等待数据被接收。这就是为什么在处理异步数据时,实践是在
d3.json()
函数中执行所有操作的原因

d3.json("temp.json", function(error, data){
    //use data here
})
// do not use data anymore
d3.json('foo.json',函数(错误,根){})
root是json的根节点。