我查询过后,可以操作FDatasnapshot吗?

我希望能够在Datasnapshot上进行一些自定义过滤。 我不认为我可以创build一个复杂的查询来完成我想要的结果。

这是可能的,如果是这样,parsing快照的最佳方法是什么?

编辑:

我正在使用SwiftyJSON,这是我最终parsing它:

standbyRef.observeSingleEventOfType(.Value, withBlock: { snapshot in // do some stuff once println(snapshot.value) self.parseJson(snapshot.value as NSDictionary) }) func parseJson(var snapshot:NSDictionary!){ let json = JSON(snapshot) for (key: String, subJson: JSON) in json { // key to standby users println(key) // one object at a time println(subJson) } } 

Firebase只接受JSON格式的所有数据。 当您获取Firebase的任何特定节点的数据快照时,您将获得该节点下方的完整数据,该节点仅包含所有JSON。

一旦获得Datasnapshot JSON您可以使用任何JSON库来parsing它,这取决于您使用的平台。

有关更多信息,请参阅Datasnapshot方法 。

没有任何额外的库,你也可以做这样的事情:

 if let email = snapshot.value["email"] as? String { user.email = email } 

或者如果你想遍历所有的值:

 let enumerator = snapshot.children while let child = enumerator.nextObject() as? FDataSnapshot { println(child.key) println(child.value) }