我是JSON和jQuery的新手。我正在做的是从api获取JSON对象并将其显示为表格。但JSON数组中的某些元素为空使用空JSON对象处理
例如; 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.last
和age.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为年龄)。我只是想知道是否有任何优雅的方法可以为所有人完成一项功能?
请总结一下就是:
然后,你可以按如下方式使用它确切的问题。你想遍历这个JSON数组还是你得到任何空值? – Arora20
我希望每当遇到空时,他们会给我“没有信息”添加到表中,而不是抛出错误 –