Javascript 来自json对象的d3.js图表

Javascript 来自json对象的d3.js图表,javascript,json,d3.js,underscore.js,Javascript,Json,D3.js,Underscore.js,我想在d3.js中创建一个简单的饼图。我正在处理的请求-响应如下所示: {"record":[{"status":"request"},{"status":"requirements"},{"status":"request"}]}; 根据我在示例中看到的,我需要将该对象转换为: [{"label":"Request", "value":2}, {"label":"Requirements", "value":1}]; 我很乐意使用d3函数或下划线或直接javascript来实现这一点,只是

我想在d3.js中创建一个简单的饼图。我正在处理的请求-响应如下所示:

{"record":[{"status":"request"},{"status":"requirements"},{"status":"request"}]};
根据我在示例中看到的,我需要将该对象转换为:

[{"label":"Request", "value":2}, {"label":"Requirements", "value":1}];
我很乐意使用d3函数或下划线或直接javascript来实现这一点,只是我自己还没能破解它。任何帮助都将不胜感激

您可以使用重新格式化数据:

var data = d3.nest()
    .key(function(d){ return d.status; })
    .rollup(function(leaves){ return leaves.length; })
    .entries(input.record)
    .map(function(d){ return {label: d.key, value: d.values}; });

感谢回复mdml!所以使用:var response={“record”:[{“status”:“request”},{“status”:“requirements”},{“status”:“request”}]};var data=d3.nest().key(函数(d){return d.status;}).rollup(函数(leaves){return leaves.length;}).entries(response.record).map(函数(d){return{label:d.key,value:d.values};});控制台日志(数据);我得到一个错误:“意外值转换(NaN,NaN)解析转换属性”很乐意帮助。所以我的回答正确地重新格式化了数据,但是在绘图中使用这些数据有问题吗?我看不到你的代码就说不出发生了什么。也许你可以发布另一个问题和你的情节代码。不,你搞定了。我犯了愚蠢的图书馆错误。谢谢