首页 > 解决方案 > 如何在 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 中寻找“消息”。有针对这个的解决方法吗?我还没有找到专门针对我正在寻找的资源。谢谢你。

标签: swiftfirebase-realtime-database

解决方案


您需要循环遍历 的子级,如下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
    }
})

另见:


推荐阅读