javascript – 嵌套的JSON数组和D3JS
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 嵌套的JSON数组和D3JS,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2244字,纯文字阅读大概需要4分钟。
内容图文
![javascript – 嵌套的JSON数组和D3JS](/upload/InfoBanner/zyjiaocheng/701/653217afd10b441aabea6cd922ad1825.jpg)
我正在尝试使用嵌套的json数组来绘制带有d3.js的多系列图表.我在这个网站和其他网站上看了很多地方,虽然有类似的主题,但我似乎无法使语法适用于我的具体问题(这是一个简单的问题).
要制作折线图(如下所示:http://bl.ocks.org/mbostock/3883245),我可以解析这个JSON文件:
[{"date":"1-May-12","close":58.13},{"date":"30-Apr-12","close":53.98},{"date":"27-Apr-12","close":67}]
通过使用此JavaScript语法:
d3.json("data/data2.json", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d.date);
d.close = +d.close;
});
但是,如果JSON是嵌套数组呢?例如:
{
"Stock01":[{"date":"1-May-12","close":58.13},{"date":"30-Apr-12","close":53.98},{"date":"27-Apr-12","close":67}]
"Stock02":[{"date":"1-May-12","close":28.13},{"date":"30-Apr-12","close":33.98},{"date":"27-Apr-12","close":47}]
}
我尝试过类似下面脚本的选项,但我没有运气:
d3.json("data/data2.json", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d[0].date);
d.close = +d[0].close;
});
如果有人有关于如何使用data.forEach函数导航嵌套JSON数组的建议,我将不胜感激.在此先感谢您的帮助.
解决方法:
您希望迭代数据中的键,使用键在数据中查找相应的值,并对值进行操作.
你想要这样的东西:
d3.json("data/data2.json", function(error, data) {
for (k in data) {
var k_data = data[k];
k_data.forEach(function(d) {
d.date = parseDate(d[0].date);
d.close = +d[0].close;
});
}
});
此外,看起来forEach采用的函数有两个参数:键和值:
forEach: function(f) {
for (var key in this) {
if (key.charCodeAt(0) === d3_map_prefixCode) {
f.call(this, key.substring(1), this[key]);
}
}
}
例如:
values: function() {
var values = [];
this.forEach(function(key, value) {
values.push(value);
});
return values;
}
后来:AmeliaBR对于forEach是正确的:它不能用于对象/词典.
var a = {"stock1": [1, 2, 3, 4], "stock2": [2, 3, 5, 7], "stock3": [1,2, 4,8]};
a.forEach(function(value, key){ console.log(value, key);});
/* TypeError: Object #<Object> has no method 'forEach' */
但这有效:
a["stock1"].forEach(function(value, key){ console.log(value, key);});
1 0
2 1
3 2
4 3
内容总结
以上是互联网集市为您收集整理的javascript – 嵌套的JSON数组和D3JS全部内容,希望文章能够帮你解决javascript – 嵌套的JSON数组和D3JS所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。