Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firebase数据库POJO反序列化忽略缺少的属性_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java Firebase数据库POJO反序列化忽略缺少的属性

Java Firebase数据库POJO反序列化忽略缺少的属性,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我的android代码中有一个POJO,它有一个属性fieldB,但并不总是在数据库中设置(特别是对于旧数据) 使用getValue(POJO.class)进行反序列化时,Firebase返回null,因为它无法在DataSnapshot中找到fieldB。我如何告诉它忽略缺少的属性,或者更好的是,在缺少的情况下设置一个默认值。您是否尝试了注释@Exclude?Firebase SDK 9.x版和更高版本默认会忽略缺少的属性。你能用这个POJO显示你正试图读取的JSON,以及进行读取的代码吗?@

我的android代码中有一个POJO,它有一个属性
fieldB
,但并不总是在数据库中设置(特别是对于旧数据)


使用
getValue(POJO.class)
进行反序列化时,Firebase返回
null
,因为它无法在DataSnapshot中找到
fieldB
。我如何告诉它忽略缺少的属性,或者更好的是,在缺少的情况下设置一个默认值。

您是否尝试了注释
@Exclude
?Firebase SDK 9.x版和更高版本默认会忽略缺少的属性。你能用这个POJO显示你正试图读取的JSON,以及进行读取的代码吗?@FrankvanPuffelen JSON应该是
“key”:{“fieldA”:“valueA”}
你是否尝试过注释
@Exclude
?Firebase SDK 9.x版和更高版本默认情况下会忽略缺少的属性。你能用这个POJO显示你正试图读取的JSON,以及进行读取的代码吗?@FrankvanPuffelen JSON应该是
“key”:{“fieldA”:“valueA”}
class POJO {
    String fieldA;
    String fieldB;

    public POJO() {}

    public String getFieldA(){
        return fieldA;
    }

    public String getFieldB(){
        return fieldB;
    }
}