尝试将Json迭代到Javascript数组中,然后输入到Treant js图表中
我试图使用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配置; }; 我得到了错误尝试将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
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(" ");