首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript,Web导入D3 (数据驱动文档)

JavaScript,Web导入D3 (数据驱动文档)
EN

Stack Overflow用户
提问于 2014-06-25 08:35:04
回答 1查看 744关注 0票数 0

我想从Web (JSON格式)导入数据,并使用它进行可视化。正如您在下面的代码中所看到的,我已经实现了所有的东西,并且(几乎)工作了。

问:dataExportdata不一样。为什么?如何更改代码,使dataExportdata相同

代码:

代码语言:javascript
运行
复制
var dataExport = d3.json("http://link to the Server...", function(error, data){
            if(error) {
                console.log(error);
            } else {
                console.log(data);

                console.log(data.collection.items);
            }
});

console.log(dataExport);

Console.log(data);

代码语言:javascript
运行
复制
Object {collection: Object}
collection: Object
href: "http://link to the Server..."
items: Array[50]
links: Array[1]
queries: Array[1]
version: "1.0"
__proto__: Object
__proto__: Object

Console.log(dataExport);

代码语言:javascript
运行
复制
Object {header: function, mimeType: function, responseType: function, response: function, get: function…}
abort: function (){return c.abort(),i}
get: function (){return i.send.apply(i,[n].concat(Qo(arguments)))}
header: function (n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)}
mimeType: function (n){return arguments.length?(t=null==n?null:n+"",i):t}
on: function (){var r=e.apply(t,arguments);return r===t?n:r}
post: function (){return i.send.apply(i,[n].concat(Qo(arguments)))}
response: function (n){return e=n,i}
responseType: function (n){return arguments.length?(s=n,i):s}
send: function (e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var l in a)c.setRequestHeader(l,a[l]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=s&&(c.responseType=s),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i}
__proto__: Object

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-25 08:57:26

因为您将整个解析过程存储在数据存储变量中,而数据变量只包含您在d3.json中调用的数据,这是应该的。

您不需要使用另一个变量,所以只需尝试

代码语言:javascript
运行
复制
d3.json("http://link to the Server...", function(error, dataStore){
        if(error) {
            console.log(error);
        } else {
            console.log(dataStore);

            console.log(dataStore.collection.items);
        }
});

dataStore应该包含想要的结果

编辑:在d3.json之外访问它

代码语言:javascript
运行
复制
var dataStore; //declare a global variable somewhere at the beginning of your script

然后

代码语言:javascript
运行
复制
d3.json("http://link to the Server...", function(error, data){
    if(error) {
        console.log(error);
    } else {
        dataStore=data;
    }
});

console.log(dataStore);
console.log(dataStore.collection.items);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24403855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档