Java无法识别jSonObject中的空值

时间:2013-12-01 16:31:52

标签: java android null

我有一个带键值对的jSonObject,我想将它解析为ContentValues。在解析期间,我想检测值是否为null,正如您在图片中看到的值为null,但仍然没有得到if语句的捕获。因为它是一个json,并且可能会将null作为字符串,因为我尝试使用value.equals(“null”),但它都不起作用。

debug info

if ( value == null | value. equals("null") || tableField.getType() == FIELD_TYPE_NULL ) {
    DO SOME CODE
}

怎么了?

6 个答案:

答案 0 :(得分:3)

你的第一个“OR”只是一个管道'|'而不是双管'||'

if ( value == null || value.equals("null") || tableField.getType() == FIELD_TYPE_NULL ) {
    DO SOME CODE
}

答案 1 :(得分:1)

试试吧

if ( value == null || value.equals("null") || tableField.getType() == FIELD_TYPE_NULL ) {
    DO SOME CODE
}

答案 2 :(得分:1)

尝试使用value.isNullObject()函数。如果对象为NULL,则返回true。

答案 3 :(得分:1)

if ( value == null | value. equals("null") || tableField.getType() == FIELD_TYPE_NULL ) {
    DO SOME CODE
}

虽然在你的情况下,如果值为“null”,则上述结果为

value == null | value. equals("null")// first condition in if statement --->if(false|true)---> if(true)

你正在使用有点或不合逻辑的

应该是

  if ( value == null || value. equals("null") || tableField.getType() == FIELD_TYPE_NULL ) {
        DO SOME CODE
    }

答案 4 :(得分:1)

从jsonobject检索值的常用方法是使用getString()方法。因此,您必须使用 value = jsonObject.getString(columnName); 来指定 value 变量的值。然后你需要检查条件为

if ( value == null || value. equals("null") || tableField.getType() == FIELD_TYPE_NULL ) 
{

}

答案 5 :(得分:0)

你在第一个条件中缺少一个|