如何使用coffeescript或javascript读取要在D3Java脚本中使用的json文件/解析的值

如何使用coffeescript或javascript读取要在D3Java脚本中使用的json文件/解析的值,javascript,svg,d3.js,coffeescript,Javascript,Svg,D3.js,Coffeescript,我试图从这个json文件中提取值,到目前为止,我可以在控制台中看到我的对象,但是如何提取要在d3中使用的目标值呢 d3.json "https://api.github.com/repos/wesm/D3py/commits", (data) -> console.log data[0] return 这里是json 最终,我希望能够使用它使用这些元素创建svg循环,因此我计划将值放入如下简单列表中 svg_w = 800 svg_h = 400 padding = 50

我试图从这个json文件中提取值,到目前为止,我可以在控制台中看到我的对象,但是如何提取要在d3中使用的目标值呢

d3.json "https://api.github.com/repos/wesm/D3py/commits", (data) -> 
  console.log data[0]
  return
这里是json

最终,我希望能够使用它使用这些元素创建svg循环,因此我计划将值放入如下简单列表中

svg_w = 800
svg_h = 400
padding = 50
svg = d3.select("body").append("svg").attr("width", svg_w).attr("height", svg_h)


list = [
  { "item": 1, "date": "2012-01-04T01:39:42Z",  "commit_name": "Mike Dewar", "id":1, "message" : "clenaed up typos in README" },
  { "item": 2, "date": "2012-01-04T01:37:33Z",  "commit_name": "Mike Dewar", "id":2, "message" : "updated the README to point people at the v2 branch" },
  { "item": 3, "date": "2011-12-16T03:09:41Z",  "commit_name": "Mike Dewar", "id":2, "message" : "added ignore file" },
  { "item": 4, "date": "2011-10-06T12:05:53Z",  "commit_name": "Mike Dewar", "id":2, "message" : "merging" },
  { "item": 5, "date": "2011-08-16T20:48:02Z",  "commit_name": "Mike Dewar", "id":3, "message" : "added time series" }]


names = (m.item for m in list)
console.log names


nodes = svg.append("g").attr("class", "nodes").selectAll("circle")
        .data(names).enter().append("g")
            .attr("transform", (d, i) ->

                  dx = i * 70 + padding
                  dy = svg_h / 2

                  "translate(" + dx + "," + dy + ")"

                )

nodes.append("circle").attr("class", "node").attr "r", 20

nodes.append("text").attr("text-anchor", "middle").text (d) ->d.name

你试过这样的东西吗

(JS代码)

var list=[],
dataLength=data.length;
对于(变量i=0,项;i
您可以将具有特定属性的数据映射到新数组。 咖啡店示例:

list = data[0].map (item) ->
   return
      author: 
        name: item.commit.author.name
        date: item.commit.author.date
      ...

data[0].commit.author.name
data[0].commit.author.date
data[0].commit.message
。我不熟悉JS和coffee,你能用d3.json“”(data)->console.log data[0]向我展示完整的代码吗?我不知道该怎么做。
list = data[0].map (item) ->
   return
      author: 
        name: item.commit.author.name
        date: item.commit.author.date
      ...