我需要使用d3.json函数加载外部JSON文件,例如。有这种格式
{"pole":[{"name": "p1"}, {"name":"p2"}]}
在主文件中,我会
var MainData ={}; d3.json("url", function(graph){MainData[graph] = graph;});
给了我在MainData中推送的外部JSON对象。但我会谎称能够以MainData.pole
的形式访问它此外,我想加载多个JSON文件并将它们推送到同一个MainData文件中。
我是JS的新手,我非常感谢帮助。
答案 0 :(得分:1)
var MainData ={}; d3.json("url", function(graph){MainData[graph] = graph;});
给了我在MainData中推送的外部JSON对象。
嗯,有点,但它有一个真的尴尬的属性名称,很可能是[object Object]
,因为当你使用这样的括号表示法时,属性名称是括号是作为字符串(现在; ES6添加Symbol
s),所以你放在那里的任何非字符串都会变成一个字符串。在普通对象上调用toString
的默认结果是[object Object]
。
但我会撒谎以便能够以
的形式访问它MainData.pole
假设d3.json
在给你之前为你解析它,那么:
var MainData ={};
d3.json("url", function(graph) {
MainData.pole = graph.pole;
});
如果您希望自己解析(似乎不太可能),那么:
var MainData ={};
d3.json("url", function(graph) {
MainData.pole = JSON.parse(graph).pole;
});