gpt4 book ai didi

android - 将自定义 JSON 序列化程序与 firebase 结合使用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:04:39 24 4
gpt4 key购买 nike

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

最佳答案

更新:我没有时间查看最新 SDK 的文档,但它看起来像 there are some options for JSON fields .


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

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

    HashMap<String, JSONObject> dataSnapshotValue = (HashMap<String, JSONObject>) dataSnapshot.getValue();
  2. 使用 Gson 将 Hashmap 转换为有效的 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 转换对象的东西,你可以使用自定义序列化器,ExclusionStrategy ,或直接从 HashMap 中检索一些值。

关于android - 将自定义 JSON 序列化程序与 firebase 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35468794/

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