D3.stratify未捕获的错误:模棱两可:分配属性

时间:2018-09-14 16:32:00

标签: javascript json d3.js

我正在尝试根据this example创建可折叠树。我的数据包含约350,000行。我将数据转换为JSON文件,当我使用几行测试脚本时,一切都按预期运行。

但是,如果我使用整个文件,则会收到错误消息: 未捕获的错误:模棱两可:分配属性,它会将输入数据分层并形成层次结构。 我的代码与示例非常相似,但是我正在从JSON文件读取,而示例将对象数组分配给变量。我在下面给出了代码段。

d3.json("fields_of_study_with_names.json", function(error, inputdata) {
  if (error) throw error;  
  console.log(inputdata);
  var treeData = d3.stratify()
    .id(function(d) { return d.child; })
    .parentId(function(d) { return d.parent; })
    (inputdata);

 // assign the name to each node
treeData.each(function(d) {
    d.name = d.data.child;
  });
  ...

我做了一些预处理,并删除了包含NaN和重复行的行(我认为重复行会导致此错误)。我可以看到代码工作正常(当我检查了一个较小的文件时),因此输入数据显然是一个问题。但是我不明白错误的含义。 有人可以帮我吗?

PS:经过预处理后,我的数据是这样的。层次结构由6个级别组成,最高级别为“根”。

[
{
    "child": "root",
    "parent": ""
},
{
    "child": "Geology",
    "parent": "root"
},
{
    "child": "Art",
    "parent": "root"
},
...
]

0 个答案:

没有答案