gpt4 book ai didi

java - 如何将 JSONObject 写入 firebase 数据库节点

转载 作者:行者123 更新时间:2023-12-01 19:35:57 31 4
gpt4 key购买 nike

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

我尝试用

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

这会返回错误

com.google.firebase.database.DatabaseException: No properties to serialize found on class org.json.JSONObject

我试图避免分解对象并单独发布单独的值,因为这可能容易出错,而且我不能冒着因困惑的循环而损坏数据的风险...感谢您的帮助。

最佳答案

您可以使用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

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

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

来自文档:

In addition, you can set instances of your own class into this location, provided they satisfy the following constraints:

The class must have a default constructor that takes no arguments

The class must define public getters for the properties to be assigned. Properties without a public getter will be set to their default value when an instance is deserialized

关于java - 如何将 JSONObject 写入 firebase 数据库节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57548619/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com