Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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
尝试将Json迭代到Javascript数组中,然后输入到Treant js图表中_Javascript_Jquery_Json - Fatal编程技术网

尝试将Json迭代到Javascript数组中,然后输入到Treant js图表中

尝试将Json迭代到Javascript数组中,然后输入到Treant js图表中,javascript,jquery,json,Javascript,Jquery,Json,我试图使用Javascript/jQuery迭代Json文件,但我无法控制Json文件,因此我不能直接将其导入Treant js,将其转换为Javascript数组,然后将其输入Treant js 我遇到的问题是它似乎不理解父母的联系。 这是我的代码: 变量配置={ 容器:myChart, 根方向:“西”, 平均间距:100, 兄弟姐妹分离:10, 连接器:{ 键入:“stright”, 风格:{ 笔划:“c7c7c7”, 笔画宽度:1 } }, 节点:{ HTMLclass:“nodeStyl

我试图使用Javascript/jQuery迭代Json文件,但我无法控制Json文件,因此我不能直接将其导入Treant js,将其转换为Javascript数组,然后将其输入Treant js

我遇到的问题是它似乎不理解父母的联系。 这是我的代码:

变量配置={ 容器:myChart, 根方向:“西”, 平均间距:100, 兄弟姐妹分离:10, 连接器:{ 键入:“stright”, 风格:{ 笔划:“c7c7c7”, 笔画宽度:1 } }, 节点:{ HTMLclass:“nodeStyle” }, } 图表配置=[config]; $.getJSON'myFile.json',functiondata{ rootLevel={}; rootLevel[text]={name:data.something}; rootLevel[image]=data.somethingImage; chart_config.pushrootLevel; $.eachdata.root.secondLevel,functioni,v{ var iName=v.某物; var-iKey=iName+-+i; 窗口[iKey]={}; 窗口[iKey][parent]=根级别; window[iKey][text]={name:iName}; 窗口[iKey][stackChildren]=true; 图表配置推送窗口[iKey]; }; }.donefunction{ 新的Treantchart\u配置; }; 我得到了错误

Uncaught TypeError: Cannot read property 'join' of undefined
at Tree.getPathString (Treant.js:1040)
at Tree.setConnectionToParent (Treant.js:892)
at Tree.positionNodes (Treant.js:817)
at Tree.positionTree (Treant.js:509)
at Treant.js:533
我认为发生的事情是因为我没有一次性声明阵列:

例如:

这不是理解父母之间的联系

作为一种测试,我也试过

window[iKey]["parent"] = chart_config[1];
但这也带来了同样的错误

如果我在最后进行console.logchart\u配置,数组看起来很好。我敢说答案很简单,但我想不通

提前谢谢

深入到第1040行的getPathString代码

你打错了:

类型:'stright',=>类型:'stright'

从treant.js:

else {  // NORMAL CHILDREN
    if ( connType === "step" ) {
        pathString = ["M", sp, 'L', p1, 'L', p2, 'L', ep];
    }
    else if ( connType === "curve" ) {
        pathString = ["M", sp, 'C', p1, p2, ep ];
    }
    else if ( connType === "bCurve" ) {
        pathString = ["M", sp, 'Q', p1, pm, 'T', ep];
    }
    else if (connType === "straight" ) {
        pathString = ["M", sp, 'L', sp, ep];
    }
}
return pathString.join(" ");

哦,我的上帝。我真是个傻瓜。这已经让我发疯了,这与我所认为的毫无关系。谢谢,伙计,不客气。因为这是一个输入错误,所以应该关闭/删除它!老兄。再次感谢。
else {  // NORMAL CHILDREN
    if ( connType === "step" ) {
        pathString = ["M", sp, 'L', p1, 'L', p2, 'L', ep];
    }
    else if ( connType === "curve" ) {
        pathString = ["M", sp, 'C', p1, p2, ep ];
    }
    else if ( connType === "bCurve" ) {
        pathString = ["M", sp, 'Q', p1, pm, 'T', ep];
    }
    else if (connType === "straight" ) {
        pathString = ["M", sp, 'L', sp, ep];
    }
}
return pathString.join(" ");