gpt4 book ai didi

javascript - 处理 null JSON 对象

转载 作者:行者123 更新时间:2023-11-28 14:46:27 26 4
gpt4 key购买 nike

我是 JSON 和 jQuery 的新手。我正在做的是从 api 获取 JSON 对象并将其显示为表格。但 JSON 数组中的某些元素为 null

例如;JSON 数组如下所示:

[
{"key":"first" , "name" :{"last":"Owen"} , "age" :{"number": 18} },
{"key":"second" , "name" : null , "age" :{"number": 20} } ,
{"key":"third" , "name" : {"last":"Jay"} , "age" :null }
]

因此,要输入到表中,我这样做:

$.each(jsonarray, function(i,data){
$("<tr>").append(
$.('<td>').text(data.key),
$.('<td>').text(data.name.last),
$.('<td>').text(data.age.number)).appendTo('.table');
});

所以问题是他们会得到错误:

Cannot read property 'last' of null ; Cannot read property 'number' of null

因为在第二个和第三个元素中,name 为 null,age 为 null。因此,没有添加 name.lastage.number 这样的东西。

我想要的是,每当他们收到类似的信息时,他们都会自动返回“无信息”以添加到表中

但是,我还是不知道该怎么做。我确实尝试编写一个函数来检查。例如这样:

    function check1(datum){
if (datum !== null && datum !== undefined){
return datum.last;
}
else {
return "No Information"
}
}
function check2(datum){
if (datum !== null && datum !== undefined){
return datum.number;
}
else {
return "No Information"
}
}

但这非常乏味,因为我需要编写 2 个单独的函数来检查(1 个用于姓名,1 个用于年龄)。我只是想知道是否有任何优雅的方法可以为所有人执行一项功能?

最佳答案

这能满足您的需求吗?

var noDataTip = 'No Information';
$.each(jsonarray, function(i,data) {
$("<tr>").append(
$('<td>').text(data.key),
$('<td>').text( (data.name && data.name.last) || noDataTip),
$('<td>').text( (data.age && data.age.number)) || noDataTip).appendTo('.table');
});

关于javascript - 处理 null JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46234466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com