Java 将对象推送到firebase时将字段名转换为小写

Java 将对象推送到firebase时将字段名转换为小写,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在使用我的food应用程序的服务器端版本,因此我必须对当前的现有数据进行更改。但是,当将模型对象推送到我的firebase数据库时,“Image”和“Name”字段的大小写会自动更改为小写,这在使用.child(“Image”)函数访问这些值时会出现问题。有谁能给我一个变通办法吗 public class CategoryModel { private String Image; private String Name; public CategoryModel(S

我正在使用我的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;
    }
}

这是正在序列化的JavaBean类型对象的标准行为。最好接受它,因为这是正常预期的行为。(请注意,您的对象字段实际上与以小写字符开头的标准Java约定背道而驰。但是您可以自由地做任何您想做的事情,是吗?)

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

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

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

是的,这是必须的,因为我无法更改以前的数据库,该数据库已包含以大写开头的字段……非常感谢……)