2012-06-22 129 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