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

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

最佳答案

undefined 等同于 false,因此您可以像这样检查对象的属性:

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

您也可以将 if 语句缩短为这样并获得相同的结果:

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

关于javascript - 如何检查我的 json 数组是否缺少对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24416434/

相关文章:

javascript - JS 模块模式中的 AJAX

javascript - 如何获取 DIV 元素的值,将它们放入数组中并在以后使用它们。 JS/查询

javascript - JQuery:如何为动态添加的元素添加一个id?

javascript - Jquery addClass 和 removeClass onclick() 不适用于 fontawesome

javascript - Blueimp 上传插件使用 1000 字节作为单个 kb,而不是 1024

java - 使用 Jersey 从 MongoDb 发送 Json 响应

javascript - Javascript/node.js 中的异步循环

javascript - 从 json 到 View 的 AngularJs 数据绑定(bind)

javascript - 将数据推送到 Json 对象的数组中

javascript - Chrome 扩展窗口监听器 - 最小化