[英]JavaScript storing JSON in 2D array
我尝试将JSON数据存储在2D数组中,其格式为:
[2009-01,324, 1075, 940, 441, 1040, 898, 1343]
[2009-02 295, 958, 904, 434, 1038, 793, 1246 ]
上面表示法视觉表示的歉意。 我有JSON数据,并且正在使用for循环来获取键及其值,但是我不确定如何将其存储在2d数组中。 从概念上讲,我正在为此而苦苦挣扎。 我是一个初学者,只是真的想要一些指导。 谢谢。
<script>
$.getJSON('data.json', function (data) {
var response = data;
var listOfTimes = new Array();
for(i = 0; i < 2; i++){ //number of rows...
for(j = 0; j< 8; j++){ //number of columns
for(key in response){
....not sure what to do here
}
}
}
});
</script>
JSON数据的格式如下:
"2009-01": {
"bbcfour": 324,
"bbcnews24": 1075,
"bbcone": 940,
"bbcthree": 441,
"bbctwo": 1040,
"cbbc": 898,
"cbeebies": 1343
},
"2009-02": {
"bbcfour": 295,
"bbcnews24": 958,
"bbcone": 904,
"bbcthree": 434,
"bbctwo": 1038,
"cbbc": 793,
"cbeebies": 1246
}
尝试遍历所有日期,然后对其属性进行内循环
<script>
$.getJSON('data.json', function (data) {
var arr = [];
for(var date in data){
var items = [];
for(var key in date){
items.push(date[key]);
}
arr.push(items);
}
console.log(arr); // the requested array
});
</script>
var response = data;
var listOfTimes = new Array();
for(i = 0; i < 2; i++){ //number of rows...
listOfTimes[i]=response[i];
for(j = 0; j< 8; j++){ //number of columns
listOfTimes[i]=repsonse[i][j];
}
}
我认为您正在寻找这个,它将根据您的地图创建一个数组数组。 不知道为什么不能使用数组数据模型。 (注意$ .each,它需要jQuery)
var resp = {"2009-01": {
"bbcfour": 324,
"bbcnews24": 1075,
"bbcone": 940,
"bbcthree": 441,
"bbctwo": 1040,
"cbbc": 898,
"cbeebies": 1343
},
"2009-02": {
"bbcfour": 295,
"bbcnews24": 958,
"bbcone": 904,
"bbcthree": 434,
"bbctwo": 1038,
"cbbc": 793,
"cbeebies": 1246
}};
var arrays = [];
for (mainKey in resp) {
var array = [];
arrays.push(array);
array.push(mainKey);
$.each(resp[mainKey], function(key, value) {
array.push(value)
});
};
var mainobj={
"2009-01": {
"bbcfour": 324,
"bbcnews24": 1075,
"bbcone": 940,
"bbcthree": 441,
"bbctwo": 1040,
"cbbc": 898,
"cbeebies": 1343
},
"2009-02": {
"bbcfour": 295,
"bbcnews24": 958,
"bbcone": 904,
"bbcthree": 434,
"bbctwo": 1038,
"cbbc": 793,
"cbeebies": 1246
}
};
var my2darray=[];
for (var date in mainobj) {
var temparray=[date];
for(val in mainobj[date]){
temparray.push(mainobj[date][val]);
}
my2darray.push(temparray);
}
console.log(my2darray);
输出:
[["2009-01", 324, 1075, 940, 441, 1040, 898, 1343],
["2009-02", 295, 958, 904, 434, 1038, 793, 1246 ]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.