Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用d3.js访问JSON_Javascript_Json_D3.js - Fatal编程技术网

Javascript 如何使用d3.js访问JSON

Javascript 如何使用d3.js访问JSON,javascript,json,d3.js,Javascript,Json,D3.js,似乎找不到这个问题的答案 d3.js是否需要数据采用特定格式。例如: var dataset = { "people": [ { "name": "person1", "projects": [ { "name": "project1" }, { "name": "project3" } ] }, { "name": "person2", "projects": [

似乎找不到这个问题的答案

d3.js是否需要数据采用特定格式。例如:

var dataset = {
"people": [
  {
    "name": "person1",
    "projects": [
      {
        "name": "project1"
      },
      {
        "name": "project3"
      }
    ]
  },
  {
    "name": "person2",
    "projects": [
      {
        "name": "project1"
      },
      {
        "name": "project2"
      }
    ]
  }
 ]
};
然后用这个:

d3.select('body')
.selectAll('p')
  .data(dataset)
  .enter()
  .append('p')
  .text(function(d){
    return d;
  }); 
不会归还任何东西

希望有人能帮忙


文档和其他教程都说您可以使用上述内容,但始终使用数组作为示例/演示。

正如@MikeAtkins所说,您正在尝试数据绑定外部对象。尝试:

var dataset = {
"people": [
  {
    "name": "person1",
    "projects": [
      ...
    ]
  },
  ...
 ]
};

d3.select('body')
.selectAll('p')
  .data(dataset.people)
  .enter()
  .append('p')
  .text(function(d){
    return d.name;
  }); 
如果要绑定到嵌套数组(即每个人的每个项目),应该看到

.data()的参数必须是数组。见: