Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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

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中使用自己的JSON数据_Javascript_Json_D3.js - Fatal编程技术网

Javascript 在D3中使用自己的JSON数据

Javascript 在D3中使用自己的JSON数据,javascript,json,d3.js,Javascript,Json,D3.js,下面是d3.js示例 本例中的数据是具有以下结构的csv文件: 名称 代码 流行音乐 阿尔巴尼亚 ALB 3153731 美国 美国 299846449 大不列颠 GBR 60244834 似乎defer(d3.json,test,function(d){中的d是一个数组 请尝试以下操作: .defer(d3.json, test , function(d) { d.forEach(({code, pop}) => data.set(code, +pop)); }) 我发现我做错了

下面是
d3.js
示例

本例中的数据是具有以下结构的
csv
文件:

名称 代码 流行音乐 阿尔巴尼亚 ALB 3153731 美国 美国 299846449 大不列颠 GBR 60244834
似乎
defer(d3.json,test,function(d){
中的
d
是一个数组

请尝试以下操作:

.defer(d3.json, test , function(d) { 
  d.forEach(({code, pop}) => data.set(code, +pop));
})

我发现我做错了什么

我不能使用这个部分:

defer(d3.json, test, function(d) { console.log("DATA : " , d.code)
    data.set(d.code, +d.pop);})
因为我不能使用带有
d3.json
的行函数


更多信息,请尝试将json转换为csv?@KunalMukherjee我计划使用一个输出json文件的API,所以很遗憾这不是一个选项。请尝试
defer(d3.json,test,function(d){console.log('DATA:',d);DATA.set(d.code,+d.pop);})
…你在控制台中看到了什么?@MichaelRovinsky我看到了三个这种格式的对象:
0:Object{name:“alba”,code:“ALB”,pop:“0.111”}
@gython数据看起来有效。你能打印你传递给
的数据吗?selectAll(…).data(data\u to\u print)。enter()
这个解决方案以这种形式返回一个对象:
Object{}​ “$ALB”:0.111​ “$GBR”:0.333​ “$USA”:0.222
,而通过解析
csv
创建的ò对象如下:
对象{“$USA”:0.527,“$GBR”:0.46,“$ARE”:0.72}
。在通过分析
json
创建的第一个对象中,括号是空的。@gython我不确定我是否理解它…括号是空的是什么意思?如果添加
console.log('LEN:',d.length,'TYPE:',Array.isArray(d))会得到什么
?抱歉,我不是很清楚。如果我
console.log
得到的
map
data
变量引用,那么
json
csv
文件的结果看起来就不一样了。如果你看我之前的评论,你会看到
Object{}
如果我像你建议的解决方案那样解析
json
,括号是空的。而在第二种情况下,键值对在括号中。关于你建议的
控制台。log
我得到以下结果:
LEN:3 TYPE:true
我试图添加
json
,但它不起作用