将对象推送到Firebase时,字段名称转换为小写

时间:2019-02-06 07:27:39

标签: java android firebase firebase-realtime-database

enter image description here

enter image description here

enter image description here 我正在处理我的Food应用程序的服务器端版本,因此我必须对当前的现有数据进行更改。但是,当将模型对象推送到我的Firebase数据库时,“ Image”和“ Name”字段的大小写会自动更改为小写,这在使用.child(“ Image”)函数访问这些值时会出现问题。有人能给我勤劳吗?

public class CategoryModel {
    private String Image;
    private String Name;

    public CategoryModel(String image, String name) {
        Image = image;
        Name = name;
    }

    public CategoryModel() {
    }

    public String getImage() {
        return Image;
    }

    public void setImage(String image) {
        Image = image;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }
}

1 个答案:

答案 0 :(得分:2)

这是被序列化的JavaBean类型对象的标准行为。最好接受它,因为它是正常预期的行为。 (请注意,您的对象字段实际上与以小写字符开头的标准Java约定相反。但是您可以随意执行任何操作,是吗?)

如果您不接受默认的标准行为,则可以通过使用@PropertyName注释对getter方法进行注释来更改要序列化的每个属性的字段的名称,这可以更改用于序列化的字段名称。并反序列化数据。

@PropertyName("Image")
public String getImage() {
    return Image;
}

同样,我不建议这样做,但是如果您必须...