swift - 如何在 Firebase 数据库中解压缩多级嵌套 JSON
问题描述
在我的应用程序中,我会经常有一个 JSON 主题,例如message
,然后嵌套在其中是 a random ID
,然后将message
文本作为随机 ID 中的字符串。但是,我需要破译多个级别的随机 ID。这在 Firebase for Swift 中可行吗?这就是我的意思:
这是我的代码:
Database.database().reference().child("app").observe(.childAdded) { (snapshot) in
//app is first in the JSON tree
let dict = snapshot.value as! [String: Any]
let msg = dict["message"] as! String
显然这会使应用程序崩溃,因为它正在第一个 RandomID 中寻找“消息”。有针对这个的解决方法吗?我还没有找到专门针对我正在寻找的资源。谢谢你。
解决方案
您需要循环遍历 的子级,如下snapshot
所示:
Database.database().reference().child("app").observe(.childAdded) { (snapshot) in
for child in snapshot.children {
let snap = child as! DataSnapshot //downcast
let dict = snap.value as! [String: Any]
let msg = dict["message"] as! String
}
})
另见:
推荐阅读
- uppaal - 在 Mac OS 中运行 Uppaal 4.1.22 的问题
- azure - 如何使用绑定域(天蓝色之外)将 SSL 证书(FPX)设置为 Microsoft Azure
- java - 用于 JUnit 测试功能的 CodeLens 不会出现在 VSCode 中
- c# - IO 设备(如 HDD 示例)是否可以在没有 CPU 的情况下工作?
- android - 在 Android 10 上从 contentProvider 加载所有图像
- c - 需要帮助将 char* 扫描到具有结构的函数中
- html - 显示带有选中复选框的选项无法统一工作
- python - Python中基于字符串/整数序列的聚类和距离/相异矩阵
- android - 为什么 DJI Mobile SDK 需要 Android 物理设备,而不能与 Android 虚拟机配合使用?
- haskell - 将 Haskell 函数“分解”为具有各种中间类型的两个函数时如何避免重复?