2012-06-22 132 views
3

我有一個JSON流回來,並且正在用它的值動態地創建一個表。我遇到了一個問題,那就是數據庫中的「NULL」值實際上是在JSON中用NULL值返回的。處理JSON中的NULL值

我寧願我的輸出到我的用戶不顯示NULL。

是否有更有效的方式來處理,而不是我怎麼做呢?

if(data[i][2] != null){ 
foo = ''; 
}else{ 
foo = data[i][2]; 
}    
htmlString += '<td>' + foo+ '</td>'; 
+0

值是一個包含「NULL」或js「null」的字符串嗎? – loganfsmyth

+0

data [i] [2]是對JSON流內當前行(循環)的第2個元素的引用。 –

+0

是的,但我的意思是,價值的實際表示是什麼?這是一個將被評估爲假的值嗎?你可以發佈一個實際的JSON樣本嗎? – loganfsmyth

回答

3
cleanData = data[i][2] || ''; 

這相當於用於數據[I] [2],當它有一定的,否則取第二個

cleanData = data[i][2] || 'my fall back value'; 

值的

if(data[i][2] == null){ 
    cleanData = ''; 
    } 
else{ 
    cleanData = data[i][2]; 
    } 

取值數據[i] [2]將被分配給cleanData,如果它沒有被假定爲false,例如:false,null,undefined,0,零長度字符串或NaN被評估爲false。否則,我會採取「我的回退價值」。顯然,如果你的變量需要佔用任何這些值(如0),那麼解決方案並不完美。

cleanData = (data[i][2] == null)? '' : data[i][2]; 

看起來更可靠。

+0

你能否加一點解釋?它會讓其他人更容易理解你的答案:) –

+0

@JeffTratner感謝你指出這一點。 – sabithpocker