繁体   English   中英

循环遍历Json对象并打印其值(jquery)

[英]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.keysArray.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM