繁体   English   中英

Java无法识别jSonObject中的空值

[英]Java not recognizing null value in jSonObject

我有一个具有键值对的jSonObject,我想将其解析为ContentValues。 在解析期间,我想检测该值是否为null,如您在图片中所见,该值为null,但仍然不能被if语句捕获。 因为它是一个json,并且可能将null用作字符串,所以我尝试使用value.equals(“ null”),但均无效。

调试信息

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

怎么了 ?

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

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

试试吧

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

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

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
    }

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

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

}

您缺少一个| 在你的第一个条件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM