Firebase 可调用函数在 Android SDK 中不返回 JSON 响应
Posted
技术标签:
【中文标题】Firebase 可调用函数在 Android SDK 中不返回 JSON 响应【英文标题】:Firebase callable function doesn't return JSON response in Android SDK 【发布时间】: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:
);
【问题讨论】:
【参考方案1】:您所观察到的只是可调用对象的工作方式。在 Android 上,您将看到与可调用函数返回的对象对齐的 HashMap。如果您需要,您可以将该 HashMap 转换为其他内容。客户端 SDK 不会为您执行此操作。您可以期望映射的键和值与返回对象的属性和值相匹配。只需使用其 toString 方法记录 HashMap 即可揭示这一点。
【讨论】:
为什么它不返回 JSONObject,因为可调用函数总是返回 JSON?我的业务逻辑是使用 JSON,将 Hashmap 转换为 JSON 很复杂。 这不是它的工作方式。如果你想要一个 JSONObject,你必须自己转换地图。人们基本上不再使用 JSONObject - 它是一个旧 API,并且根据 Android 的版本存在错误。我建议避免它。它并没有真正提供任何特别的东西。如果你想对可调用 SDK 提出建议,你应该在 GitHub 上这样做,但我认为他们不会做出这种改变。 github.com/firebase/firebase-android-sdk以上是关于Firebase 可调用函数在 Android SDK 中不返回 JSON 响应的主要内容,如果未能解决你的问题,请参考以下文章