如何检查我的json数组是否缺少对象

时间:2014-06-25 18:57:14

标签: javascript jquery json

我正在和动态创建的json文件。

例如

{
    "users": [
        {
            "name": "Bill",
            "surname": "Antony",
            "userPoints": 121,
            "wins": 11,
            "nationality": "English"
        },
        {
            "name": "George",
            "surname": "Peter",
            "userPoints": 1332,
            "wins": 11
        }
    ]
}

如您所见,第二个对象缺少国籍字段。 所以在我的代码中,当我用JS Jquery(.each)打印时。我有一个未经充实的'打印第二个用户。如何在打印之前检查一下?

编辑:我正在添加打印数据的方式:

function displayData(array) {
    var list = $("#list").empty();
    $.each(array, function () {
       $("ul").append('<li><span class="num">'+ if(this["nationality"]){ this["nationality"] }+'</span></li>');
    });
}

2 个答案:

答案 0 :(得分:4)

undefined等于false,因此您可以检查对象的属性,如下所示:

$.each(data.users, function(i, item) {
    if (item.nationality) {
        console.log(item.nationality);
    }
});

您还可以将if语句缩短为此并获得相同的结果:

item.nationality && console.log(item.nationality);

答案 1 :(得分:1)

您可以使用hasOwnProperty()Documentation

if(users[0].hasOwnProperty('nationality')){

}