在java类中为firestore文档指定序列化名称



我正试图使用自定义对象将document存储在android应用程序的firestore中。如果我使用proguard构建我的应用程序,是否有一种方法可以像Gson使用@SerializedName注释提供的方法一样,为类中的字段指定序列化名称?

您可以使用PropertyName注释在文档的JSON中指定Java属性的名称。例如:

public class Data {
@PropertyName("some_field_name")
public String someFieldName;
}

如果您使用getter和setter(而不是如上所述使用公共字段(,请确保在getter和seter上都加上注释:

public class Data {
private String someFieldName;
@PropertyName("some_field_name")
public String getSomeFieldName() { return someFieldName; }
@PropertyName("some_field_name")
public void setSomeFieldName(String someFieldName) { this.someFieldName = someFieldName; }
}

此注释在Cloud Firestore和旧的Firebase实时数据库之间共享,因此我建议您也查看以前关于PropertyName的一些问题,例如Firebase序列化/反序列化的命名约定?。

最新更新