我觉得这很简单,但我如何查看我的jSON数据中是否存在月份。使用.hasOwnProperty似乎对我不起作用。我觉得我在这里缺少一些简单的东西。即使月份明显在我的JSON中,它所做的一切总是默认为else子句。
JS小提琴:http://jsfiddle.net/8y7rJ/1/
var data={"users":[
{
name:"Ray",
phone:"999-999-9999",
birthday: {
month:"January",
day:12,
year:2012
}
},
{
name:"Joe",
phone:"111-999-9999",
birthday: {
year:1992
}
},
{
name:"James",
phone:"111-111-1111",
birthday: {
year:2012
}
}
]}
if(data.users[0].hasOwnProperty("month")){
alert('month exists');
} else {
alert('month does not exist');
}
感谢代码示例。
答案 0 :(得分:4)
month
是birthday
内的属性,因此您需要执行以下操作:
if (data.users[0].birthday.month){
alert('month exists');
} else {
alert('month does not exist');
}
请注意,如果您不确定birthday
是否始终存在,则应执行以下操作:
if (data.users[0].birthday && data.users[0].birthday.month){
alert('month exists');
} else {
alert('month does not exist');
}