如何将JSONObject写入Firebase数据库节点

时间:2019-08-18 21:49:27

标签: android json firebase firebase-realtime-database

我目前正在尝试将应用程序从SQLDatabase迁移到Firebase。我已经完成了将数据库转换为JSONObject的所有工作。有什么办法可以用此对象填充Firebase中的用户节点?

我尝试用

编写JSONObject
EDITOR="myeditscript" kubectl edit configmap ...

这将返回错误

database.getReference("/" + user.getUid() + "/").setValue(jsonObject);

我正在尝试避免分解对象并单独发布各个值,因为这可能容易出错,并且我不能冒险用混乱的循环破坏数据……感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用ObjectMapper将json转换为对象:

ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(jsonObject.toString(), User.class);

https://fasterxml.github.io/jackson-databind/javadoc/2.7/com/fasterxml/jackson/databind/ObjectMapper.html

然后,您可以在User中使用类setValue()的实例:

database.getReference("/" + user.getUid() + "/").setValue(user);

从文档中

  

此外,您可以将自己的类的实例设置在此位置,只要它们满足以下约束:

     

该类必须具有不带参数的默认构造函数

     

该类必须为要分配的属性定义公共获取方法。反序列化实例时,没有公共获取器的属性将设置为其默认值