将自定义 JSON 序列化器与 firebase 结合使用

2023-11-25

使用DataSnapshot.getValue()时是否可以获取JsonObjects或Json格式的字符串?也许我的搜索不够彻底,但我找不到使用自定义序列化器的方法。


Update: 我还没有时间查看最新 SDK 的文档,但似乎JSON 字段有一些选项.


The getValue() in DataSnapshot返回一个HashMap。 因此,在 Firebase 监听器的任何方法中,您都可以:

  1. 获取 DataSnapshot 的值,它将返回一个HashMap:

    HashMap<String, JSONObject> dataSnapshotValue = (HashMap<String, JSONObject>) dataSnapshot.getValue();
    
  2. 投下Hashmap使用 Gson 转换为有效的 JSON 字符串:

    String jsonString = new Gson().toJson(dataSnapshotValue);
    
  3. 有了这个有效的jsonString,根据需要进行投射:

    final GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(User.class, new UserSerializer());
    final Gson gson = gsonBuilder.create();
    User parsedUser = gson.fromJson(jsonString, User.class);
    

这使您可以使用任何想要从 Firebase 转换对象的内容,您可以使用自定义序列化器、排除策略,或从中检索一些值HashMap直接地。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将自定义 JSON 序列化器与 firebase 结合使用 的相关文章

随机推荐

  • MVC 4模型中提交表单在控制器post方法中为空

    所以我现在的问题是 当我提交以下表单时 我无法将模型放入控制器中 我试图让 BillingCodes 这是 BillingCodeObjects 的列表 中的项目循环通过并显示 我从其中删除了一些与情况无关的代码 以使其更短且更易于阅读 这
  • 如何本地化 WPF 4.0 DatePicker 控件

    当您清除新的 WPF 4 0 DatePicker 控件上的框时 它会显示 选择日期 有没有办法本地化文本 我采纳了马特的想法 并对其进行了一些扩展 我实现了一个附加行为 它允许您通过 XAML 为每个 DatePicker 控件定义水印
  • C# 中保存的 JPG 的质量

    我制作了一个小型 C 应用程序来创建 jpg 格式的图像 pictureBox Image Save name ImageFormat Jpeg 镜像创建成功 我输入一张原始图片 用它做一些事情并保存它 然而 这张新照片的质量低于原始照片
  • 如何使用 grep 进行搜索和替换

    我需要在目录中的所有文件和子目录中递归搜索指定的字符串 并用另一个字符串替换该字符串 我知道找到它的命令可能如下所示 grep string to find r 但我怎样才能替换每个实例string to find用另一个字符串 另一种选择
  • Mongoose Schema 尚未注册模型

    我正在使用 MEAN 堆栈 当我尝试使用以下命令启动服务器时npm start 我得到一个例外 schema hasn t been registered for model Post Use mongoose model name sch
  • ASP.NET MVC:对操作强制执行 AJAX 请求

    我正在寻找一种方法来强制只能通过 AJAX 请求访问控制器的操作 在调用操作方法之前执行此操作的最佳方法是什么 我想从我的操作方法中重构以下内容 if Request IsAjaxRequest Do something else retu
  • 应用内购买沙盒测试 - 老沙盒用户不断提示

    我正在开发一款带有应用内购买功能的 iPhone 游戏 我试图通过调用restoreCompletedTransactions 来检索沙盒用户之前的购买 但没有触发任何回调 我在网上看到其他一些遇到类似问题的人删除了沙箱用户并尝试创建一个新
  • 无法从 Visual Studio For Mac 在 iPhone 模拟器中运行 Xamarin 应用程序

    简而言之 我无法在 iPhone 模拟器中运行我的应用程序 没有 播放按钮 三角形 只有一个 调试器 按钮 锤子 As you can see above I have Generic Simulator When I click on i
  • 如果 URL 和图像都存在,Facebook SLComposeViewController URL 将显示在正文中

    Using SLComposeViewController 如果图像和 URL 都存在 我在发布到 Facebook 时会注意到奇怪的行为 具体来说 如果您同时拥有图像和 URL 则该 URL 将显示在 Facebook 帖子的正文中SLC
  • 如何通过 Julia HTTP 访问 API

    使用 Julia 访问 Betfair Exchange API 我已经使用 Julia 大约 2 个月了 最近一直在尝试使用 Julia 访问 Betfair API 有关此服务的说明请参见此处 https docs developer
  • 在 C# 类中重载 vb.net & 运算符

    我这里有一个非常独特的问题 我们的业务应用程序是使用 c 和 vb net 构建的 我们一直在努力接近一个标准 并为我们的一些核心 已经复制的对象削减脂肪 我们已经非常接近了 但是当尝试将重复对象合并到 c 中时 我们的 vb net 代码
  • noexcept 依赖于成员函数的 noexcept

    考虑 class test private int n int impl const noexcept return n public test delete test int n noexcept n n int get const no
  • Android Paging 3 库:如何使用新参数更改列表?

    我有一个显示搜索项目列表的搜索片段 如果用户输入某些内容 我会将该字符串作为新的查询参数传递给 url 并使用 paging 3 库获取新列表 第一个解决方案是 viewModel lateinit var postListUrl Stri
  • Apache Http 客户端打印“[read] I/O error: Read timed out”

    我正在使用 apache http 客户端 v4 5 并将其用作 REST 客户端 在某些情况下 当 httpclient 框架读取收到的内容并将其显示为最后一条消息时 我会识别出来自 httpclient 框架的错误 read I O e
  • Boost.Asio 的可扩展性

    我很好奇其他人在可扩展性方面将 Boost Asio 推向了多远 我正在编写一个应用程序 可能使用近 1000 个套接字对象 少量接受器对象和数千个计时器对象 我已经配置它 以便有一个线程池调用io service run并使用strand
  • jython-standalone-2.7.0.jar 和 jython-2.7.0.jar 有什么区别

    我写了一个Java例子 代码是 import org python core PyObject import org python util PythonInterpreter import javax script ScriptEngin
  • PHP 无法在 CentOS 7 上连接到 PostgreSQL

    我在 OSX 上的 VirtualBox 中运行 CentOS 7 Apache PHP 5 4 和 PostgreSQL 9 2 都在运行 但是 当我的 简单 php 脚本尝试连接到 PostgreSQL 时 它不起作用 警告 pg co
  • Symfony 2:如何覆盖另一个包的存储库

    我有 2 个捆绑包 我想覆盖其中一个捆绑包的存储库 我有一个源包 SourceBundle 我有我的覆盖包 OverrideBundle 首先 在 OurVendorOverrideBundle php 中 我添加了 public func
  • 当 iframe 在 jQuery 中加载完成时,如何触发事件?

    我必须在页面中加载 PDF 理想情况下 我希望有一个正在加载的动画 gif 一旦 PDF 加载完毕 它就会被替换 你有没有尝试过 iFrameId on load function do something once the iframe
  • 将自定义 JSON 序列化器与 firebase 结合使用

    使用DataSnapshot getValue 时是否可以获取JsonObjects或Json格式的字符串 也许我的搜索不够彻底 但我找不到使用自定义序列化器的方法 Update 我还没有时间查看最新 SDK 的文档 但似乎JSON 字段有