【问题标题】:Firebase callable function doesn't return JSON response in Android SDKFirebase 可调用函数在 Android SDK 中不返回 JSON 响应
【发布时间】:2021-10-02 15:03:12
【问题描述】:

Android 中的 Firebase 可调用函数没有返回 JSON 响应,而是返回 Hashmap<String, Object>,它无法转换为 JSONObject。

如何获取云函数返回的JSON对象?

例如我在云函数中返回这个 JSON,我需要这个 JSON 在 android 可调用函数中。

return ({
    status: 'failed',
    message: 'No error (00)',
    data: {}
});

【问题讨论】:

    标签: android firebase google-cloud-functions


    【解决方案1】:

    您所观察到的只是可调用对象的工作方式。在 Android 上,您将看到与可调用函数返回的对象对齐的 HashMap。如果您需要,您可以将该 HashMap 转换为其他内容。客户端 SDK 不会为您执行此操作。您可以期望映射的键和值与返回对象的属性和值相匹配。只需使用其 toString 方法记录 HashMap 即可揭示这一点。

    【讨论】:

    • 为什么它不返回 JSONObject,因为可调用函数总是返回 JSON?我的业务逻辑是使用 JSON,将 Hashmap 转换为 JSON 很复杂。
    • 这不是它的工作方式。如果你想要一个 JSONObject,你必须自己转换地图。人们基本上不再使用 JSONObject - 它是一个旧 API,并且根据 Android 的版本存在错误。我建议避免它。它并没有真正提供任何特别的东西。如果你想对可调用 SDK 提出建议,你应该在 GitHub 上这样做,但我认为他们不会做出这种改变。 github.com/firebase/firebase-android-sdk
    猜你喜欢
    • 2020-07-26
    • 2018-11-24
    • 2020-01-22
    • 2022-10-15
    • 2021-12-06
    • 2018-08-04
    • 2023-04-01
    • 2017-09-21
    相关资源
    最近更新 更多