2009-12-09 91 views
1

使用ajax json響應構建一些html以放置在網頁中。 偶爾我會在我的json中遇到一個空值。 這會導致將一個空對象放入html中。在json或javascript中處理null null

我不希望檢查每個值不是對象,因爲這看起來效率不高。 有沒有更好的方法? 我的代碼是這樣的

 
var firstVar=jsonObj.fristVar; 
var secVar=jsonObj.secVar; 
var thirdVar=jsonObj.thirdVar; 
var fourthVar=jsonObj.fourthVar; 
... 
var htmlResponse='<div class="'+firstVar+'">'+secVar+'<span class="'+thirdVar+'">'+fourthVar+'</span>...'; 
jQuery("body").html(htmlResponse); 

回答

2

如果要指定默認值的時候都無效,你可以這樣做:

var firstVar = jsonObj.firstVar || ''; 
var secVar = jsonObj.secVar || 'No Value'; 
... 

無關你的問題,你看着的實現jQuery templating

+4

當成員'null',也當他們'0','FALSE','undefined',將設置不僅*默認*值,空字符串和'NaN'。 – CMS 2009-12-09 23:54:00

+0

是的,警惕! – 2009-12-09 23:55:40

+0

你上面寫的代碼是有道理的,它應該可以工作,但是當使用var firstVar = jsonObj.firstVar ||時,我仍然得到了「[object object]」的響應。 ''; - 當我提醒(firstVar.toSource)時,我得到({})。任何想法,爲什麼我仍然得到這個? – pedalpete 2009-12-10 19:50:25

1

你可以使用一個三元操作符:

var firstVar = (jsonObj.fristVar != null) ? jsonObj.fristVar : "some default value";