python - 期待来自 Firebase 的 JSON 但得到一个列表
问题描述
我正在使用 python-firebase 库来访问 firebase 实时数据库。数据库的结构如图所示。 当我使用 python 访问节点“PatientMaster”时,我得到一个没有 ID 的 JSON 列表,而不是得到一个正确的 JSON 键值格式。有人可以帮我吗?我为执行上述操作而编写的代码是:
firebase = firebase.FirebaseApplication('https://************.firebaseio.com', None)
result = firebase.get("/PatientMaster",None)
变量“结果”将输出作为没有 ID 的 JSON 列表提供给我。
解决方案
问题是您对节点“PatientMaster”中的记录使用顺序数字键,并且记录内容非常相似。Firebase RTDB(有时)将该结构解释为列表数组而不是映射数组。原因是当您将列表数组发布到 FB RTDB 时,它会将其存储为地图 (json),其中键为 0-n,列表项作为值。当您阅读数据库并看到此结构时,它认为它是一个存储的列表数组并返回它而不是映射(json)。看到这篇文章:https ://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html?m=1
您需要使您的键更复杂,或者测试/期望从该节点返回的数据是一个列表数组。
推荐阅读
- javascript - OnFocus 事件不会在 Safari 中触发
- go - 将 go/types 转换为 reflect.Type?
- c - 获取指针地址并对它们执行操作
- java - 在 RestController 方法中获取 ServerWebExchange
- excel - 如何从可见单元格返回文本?
- php - 在多个子域内维护同一个项目
- android - Android textDirection anyRtl 不适用于英文文本
- webdriver-io - WebdriverIO Chromedriver服务安装后失败
- codenameone - 如何在我的客户苹果 ID 中上传 iOS 应用程序
- android - 如何在 React Native 中使用自定义抽屉导航器突出显示当前选项卡