我想创建一个虚拟json数据并将其用于highChart。 这就是我创建json数组的方法
var summaryData = {
WestWorld:[
{"Jan":7894},
{"Feb":7845},
{"March":5826},
{"April":7930},
{"May":1589},
{"June":7891},
{"July":9724},
{"August":7403},
{"September":5566},
{"October":7733},
{"November":1186},
{"December":4456}
],
EastWorld:[
{"Jan":7410},
{"Feb":9512},
{"March":7520},
{"April":8510},
{"May":9965},
{"June":72580},
{"July":147},
{"August":4489},
{"September":6685},
{"October":7036},
{"November":8852},
{"December":4569}
]
};
现在我打算用这些数据绘制图表。我可以通过这样做来检索密钥
for (var key in summaryData){
console.log(summaryData[''+key+'']);
}
安慰十二个对象的两个数组。 我可以用更好的方式创建这个json对象吗?最小化if& for循环得到它的键和&值
答案 0 :(得分:0)
您可以像这样设置JSON:
var summaryData = {
WestWorld: {
"Jan":7894,
"Feb":7845,
...
},
EastWorld: {
"Jan":7410,
"Feb":9512,
...
}
};
这样您就可以直接访问任何内容,而无需遍历WestWorld
和EastWorld
中的数组。例如:
summaryData.WestWorld.Jan => 7894
答案 1 :(得分:0)
summaryData有两个对象是数组,在这种情况下是对象数组。 这将检索一个数组及其长度
console.log((summaryData.EastWorld).length);
显示第一个数组元素,它是一个具有单个键的对象:value
console.log(summaryData.EastWorld[0]);
获取其价值
console.log(summaryData.EastWorld[0].Jan);
检索每个键的函数:值对
function show(world) {
var len = (summaryData[world]).length;
var obj = "";
var ii = 0;
for (ii; ii < len; ii += 1) {
obj = summaryData[world][ii];
for (var key in obj) {
console.log(key + ' ==> ' + obj[key]);
}
}
}
show("WestWorld");
show("EastWorld");
要成为真正的JSON,每个字符串都需要双引号 检查在线JSON验证..