[英]Loopring through a Json object and print its values (jquery)
我从php页面获取此JSON对象:
{
"0": "8:00",
"1": "8:30",
"2": "9:00",
"3": "9:30",
"4": "10:00",
"5": "10:30",
"6": "11:00",
"7": "11:30",
"8": "12:00",
"9": "12:30",
"10": "13:00",
"11": "13:30",
"12": "14:00",
"13": "14:30",
"14": "15:00",
"15": "15:30",
"18": "17:00",
"19": "17:30",
"20": "18:00",
"21": "18:30",
"22": "19:00",
"23": "19:30"
}
我想浏览一下并打印其值。 现在,我可以使用Json.stringify将整个内容打印到屏幕上(与上面粘贴的一样),但是我只想打印值,而不需要按键。 如果我尝试将结果打印到控制台
console.log(results);
我所得到的是
Object {hours: Object}
我在进行JSON调用和处理响应方面还很陌生,因此仅查看所发现的其他问题就无法完全满足我的需要。 谢谢
编辑:我期望的结果是
8:00
9:00
etc
在一个div上
您必须遍历对象,假设结果是对象
for(var hours in results){
console.log(results[hours]);
}
您可以使用for ... of循环:
for(var hours of results){
console.log(hours);
}
要从对象中获取值并丢弃键,您需要将Object.keys
与Array.prototype.map
起来,如下所示:
var data = { "0": "8:00", "1": "8:30", "2": "9:00", "3": "9:30", "4": "10:00", "5": "10:30", "6": "11:00", "7": "11:30", "8": "12:00", "9": "12:30", "10": "13:00", "11": "13:30", "12": "14:00", "13": "14:30", "14": "15:00", "15": "15:30", "18": "17:00", "19": "17:30", "20": "18:00", "21": "18:30", "22": "19:00", "23": "19:30" };
var result = Object.keys(data).map(function (key) {
return data[key];
});
console.log(result);
在您的示例中这不是必需的,因为您是从页面中获取JSON的,但是为了避免将来出现潜在的问题,您应该始终进行hasOwnProperty
检查,以确保您仅获取JSON对象的属性而没有继承的属性:
for(key in data)
{
if(data.hasOwnProperty(key))
{
console.log(data[key]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.