Kha*_*.NT 8 android json firebase firebase-realtime-database
我想知道Firebase如何将POJO对象序列化/反序列化为json,是否使用Jackson或Gson或其他类似的库.
我在使用Firebase 命名约定方面遇到了麻烦.我的模特有点像这样:
class Data {
private String someFieldName;
private String anotherFieldName;
public Data() {}
public void setSomeFieldName(String) {...}
public String getSomeFieldName(String) {...}
public void setAnotherFieldName(String) {...}
public String getAnotherFieldName() {...}
}
Run Code Online (Sandbox Code Playgroud)
Firebase中的预期结果应为:
{
"some_field_name" : "...",
"another_field_name" : "..."
}
Run Code Online (Sandbox Code Playgroud)
与Gson我可以FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES用于我的目的,如在Gson doc中:
以下是"Java字段名称"--->"JSON字段名称"形式的几个示例:
- someFieldName ---> some_field_name
_someFieldName ---> _some_field_name
aStringField ---> a_string_field
- aURL ---> a_u_r_l
如何将我的POJO对象转换为具有特定命名约定的"Firebase值",反之亦然,或者有什么方法可以自定义序列化/反序列化过程?
谢谢!
cry*_*son 19
从Firebase数据库读取数据时,您可以使用@PropertyName注释标记要在序列化/反序列化时重命名的字段,如下所示:
@IgnoreExtraProperties
class Data {
@PropertyName("some_field_name")
public String someFieldName
@PropertyName("another_field_name")
private String anotherFieldName;
public Data() {}
}
Run Code Online (Sandbox Code Playgroud)
确保你的字段是公共的而不是私有的,否则注释将不起作用(我也相信Firebase使用Jackson处理引擎盖下的对象映射,但不认为你可以实际定制它如何使用它).
| 归档时间: |
|
| 查看次数: |
2921 次 |
| 最近记录: |