0
我目前調用兩個JSON請求到我的文件:訪問嵌套數據
d3.json("path/to/file.json", function(error, json) {
d3.json("path/to/file.json", function(error, json2) {
});
});
JSON 2的結構是這樣的:
[
{ "city" : "LA",
"locations" : [ { "country" : "USA", "x" : 0, "y" : 0 } ]
},
{ "city" : "london",
"locations" : [ { "country" : "UK", "x" : 0, "y" : 0 } ]
}
...
]
目前,我正在嘗試訪問xyson2的值。但是,我遇到的問題是,我希望在我的變量同時使用JSON & json2:
var node = svg.selectAll("a.node")
.data(json.cars)
.enter().append("a")
.attr("class", "node")
;
在這裏,我想調用json2爲X & y位置ONLY
node.attr("transform", function(d, i) {
return "translate(" + d.x + "," + d.y + ")";
});
node.append('path')
.attr("d", d3.svg.symbol().type(function(d) { return shape [d.name]; }).size(120))
.style("fill", function(d) { return colors [d.name]; });
是什麼我要求可能..我曾嘗試以下內容:
node.attr("transform", function(d,i) {
return "translate(" + json2.locations[d].x + "," + json2.locations[d].y + ")";
});
但是沒有運氣。任何幫助將是偉大的 - 謝謝。
是設置x爲0,或將實際讀取X – Jose 2013-04-29 00:51:10
嗨@戴夫·安德森的價值,我試圖這樣做,但它有這個影響:http://jsfiddle.net/Zc4z9/ 12/ – Jose 2013-04-29 02:22:45
嗨@Jose,它會讀取json2變量中第一個對象中第一個位置的x值。你基本上有一個對象數組,並在這些數組中。您需要使用數組索引來獲取城市的對象,然後使用另一個數組索引來獲取位置。你需要一個城市的多個地點嗎?如果你可以改變你得到的json然後把[]放在該位置周圍,所以它的數組越長,那麼json [0] .location.x就可以工作。 – 2013-04-29 03:23:50