在 Firebase 中将孩子名字的第一个字母大写

kat*_*ate 2 android firebase firebase-realtime-database

我使用 Order 对象将数据推送到 Firebase,问题是我想要每个孩子名字的第一个字母大写。我将属性定义为“投诉”,但在 Firebase 中它仍然显示为“投诉”,我不知道如何制作。

Firebase 的当前结构:

Firebase 的当前结构

我想要的结构:

我想要的结构

我定义了这样的属性:

@Data
public class Order implements Serializable {

@SerializedName("Complain")
private String Complain;

public Order() {
 Complain = "";
}

public String getComplain() {
    return Complain;
}

public void setComplain(String complain) {
    Complain = complain;
}
}
Run Code Online (Sandbox Code Playgroud)

我像这样将数据推送到 Firebase:

Map<String, Object> map = new HashMap<>();
map.put(orderSavePath, order);
reference.updateChildren(map).addOnCompleteListener(listener);
Run Code Online (Sandbox Code Playgroud)

Fra*_*len 5

Firebase JSON 序列化名称由annotationPropertyName控制。

public class Order implements Serializable {

    private String Complain;

    public Order() {
     Complain = "";
    }

    @PropertyName("Complain")
    public String getComplain() {
        return Complain;
    }

    @PropertyName("Complain")
    public void setComplain(String complain) {
        Complain = complain;
    }

}
Run Code Online (Sandbox Code Playgroud)

注释需要同时在 getter 和 setter 上。或者,您可以只使用公共字段并将类减少到:

public class Order {
    @PropertyName("Complain")
    public String Complain;
}
Run Code Online (Sandbox Code Playgroud)