json - 查看嵌套数组中是否存在密钥

时间:2014-08-05 01:49:37

标签: javascript jquery json

我觉得这很简单,但我如何查看我的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');
}

感谢代码示例。

1 个答案:

答案 0 :(得分:4)

monthbirthday内的属性,因此您需要执行以下操作:

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');
}