我是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
我希望每當遇到空時,他們會給我「沒有信息」添加到表中,而不是拋出錯誤 –