Javascript 将JSON替换为Firebase
我想制作一个活生生的D3 sankey图表的表单,但我想使用firebase而不是JSONJavascript 将JSON替换为Firebase,javascript,java,json,d3.js,firebase-realtime-database,Javascript,Java,Json,D3.js,Firebase Realtime Database,我想制作一个活生生的D3 sankey图表的表单,但我想使用firebase而不是JSON // load the data d3.json("ConTech.json", function(error, graph) { var nodeMap = {}; graph.nodes.forEach(function(x) { nodeMap[x.name] = x; }); graph.links = graph.links.map(function(x) { return { s
// load the data
d3.json("ConTech.json", function(error, graph) {
var nodeMap = {};
graph.nodes.forEach(function(x) { nodeMap[x.name] = x; });
graph.links = graph.links.map(function(x) {
return {
source: nodeMap[x.source],
target: nodeMap[x.target],
value: x.value
};
});
sankey
.nodes(graph.nodes)
.links(graph.links)
.layout(32);
以上是我需要编辑的内容,以引用我的firebase数据库
这是我在firebase表格中的数据
这是我试图将数据提取到数组中的尝试,似乎可以满足我的需要
function gotData(data) {
//console.log(data.val());
var links = data.val();
var nodes = data.val()
var lkeys = Object.keys(links);
var nkeys = Object.keys(nodes);
//console.log(keys);
for (var i = 0; i < lkeys.length; i++) {
var k = lkeys[i];
var source = links[k].source;
var target = links[k].target;
if (source !== undefined){
slist.push(source);
}
if (target !== undefined){
tlist.push(target);
}
//console.log(source, target);
}
for (var x = 0; x < nkeys.length; x++) {
var kn = nkeys[x];
var name = nodes[kn].name;
if (name !== undefined){
nlist.push(name);
}
//console.log(name);
}
//console.log(slist, tlist, nlist);
//console.log(source, target, name);
}
function errData(err) {
console.log('broke!');
console.log('err');
}
function getData () {
console.log(slist, tlist, nlist);
}
函数gotData(数据){
//console.log(data.val());
var links=data.val();
var节点=data.val()
var lkeys=Object.keys(链接);
var nkeys=Object.key(节点);
//控制台日志(键);
对于(变量i=0;i
然而,我很难交换
d3.json(“ConTech.json”,函数(错误,图形)
为了正确的实施