Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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_Xmlhttprequest_Es6 Promise - Fatal编程技术网

Javascript d3.json方法不';我不能返回我的数据数组

Javascript d3.json方法不';我不能返回我的数据数组,javascript,json,d3.js,xmlhttprequest,es6-promise,Javascript,Json,D3.js,Xmlhttprequest,Es6 Promise,我使用d3.json加载包含我的数据的json文件,如下所示: var data = d3.json(url, callback) 如果我执行console.log(data)操作,我可以看到data既不是空的,也不是空的。但是,它似乎不包含我的数据数组,而是包含其他内容 我做错了什么 注意:这是一个自我回答的问题,API没有(清楚地)解释。下面的答案是对这些问题的一般性指导。TL;博士 d3.json(以及d3.csv,d3.tsv等)不会返回加载/解析文件的内容。相反,它在D3V4或更低

我使用
d3.json
加载包含我的数据的json文件,如下所示:

var data = d3.json(url, callback)
如果我执行
console.log(data)
操作,我可以看到
data
既不是空的,也不是空的。但是,它似乎不包含我的数据数组,而是包含其他内容

我做错了什么


注意:这是一个自我回答的问题,API没有(清楚地)解释。下面的答案是对这些问题的一般性指导。

TL;博士
d3.json
(以及
d3.csv
d3.tsv
等)不会返回加载/解析文件的内容。相反,它在D3V4或更低版本中返回与请求相关的对象,在D3V5或更高版本中返回承诺

d3.json返回什么?(v4或更低)
d3.json
是d3提供的
XMLHttpRequest
的替代方案之一。根据,
d3.json

返回一个新请求,以使用默认mime类型application/JSON获取指定url处的JSON文件

。。。我们可以同意,这一点并不特别清楚。因此,您可能认为可以使用
var data=d3.json(url,callback)
返回加载的数据,但这是错误的。
d3.json
返回的是一个与请求关联的对象(不是数组)。让我们看看

我将此JSON保存在一个文件中:

{"foo": "42"}
如果我们使用
d3.json
您在问题中使用它的方式会发生什么?单击“运行代码段”以查看:

var data=d3.json(“https://api.npoint.io/5b22a0474c99d3049d2e,函数(){});
console.log(数据)