我需要将一些外部json数据导入变量或单个json文件,然后用D3显示该数据。
这是我需要从每个json文件导入的数据格式:
{
"name": "name1",
"version": "0.1.2",
"references": [
{
"url1": "http://example1.com"
},
{
"url2": "http://example2.com"
}
]
}
这是我最终的json文件/变量所需的数据格式。
{
"nodes":[
{
"name": "name1",
"version": "0.1.2",
"references": [
{
"url1": "http://example1.com"
},
{
"url2": "http://example2.com""
}
]
},
{
"name": "name2",
"version": "1.6.0",
"references": [
{
"url1": "http://example34.com"
},
{
"url2": "http://example30.com""
}
]
},
{
...
...
}
],
"links":[
]
}
基本上我需要合并“nodes”数组中不同json文件的数据。
知道我怎么能这样做? 感谢
答案 0 :(得分:2)
nodes
是一个简单的数组,因此您只需按下“文件”即可。对象进入nodes
数组。
var file1 = {
"name": "name1",
"version": "0.1.2",
"references": [
{
"url1": "http://example1.com"
},
{
"url2": "http://example2.com"
}
]
}
var file2 = {
"name": "name1",
"version": "0.1.2",
"references": [
{
"url1": "http://example1.com"
},
{
"url2": "http://example2.com"
}
]
}
var files = [file1, file2];
var node = {
"nodes": [],
"links": []
}
files.forEach(function(file) {
node.nodes.push(file);
})
console.log(node);

答案 1 :(得分:0)
如果您只需将导入的JSON中的所有数据都推送到nodes
,则可以执行以下操作:
var imported = {
"name": "name1",
"version": "0.1.2",
"references": [
{
"url1": "http://example1.com"
},
{
"url2": "http://example2.com"
}
]
};
var finalJson = {
nodes: []
};
finalJson.nodes.push(imported);