我有一个带键值对的jSonObject,我想将它解析为ContentValues。在解析期间,我想检测值是否为null,正如您在图片中看到的值为null,但仍然没有得到if语句的捕获。因为它是一个json,并且可能会将null作为字符串,因为我尝试使用value.equals(“null”),但它都不起作用。
if ( value == null | value. equals("null") || tableField.getType() == FIELD_TYPE_NULL ) {
DO SOME CODE
}
怎么了?
答案 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)
你在第一个条件中缺少一个|