我希望能够对我回来的Datasnapshot进行一些自定义过滤。我不认为我可以创建一个复杂的查询来完成我想要的结果。
是否可以这样做,如果是,解析快照的最佳方法是什么?
编辑:
我正在使用SwiftyJSON,这就是我最终解析它的方式:
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)
}
}
答案 0 :(得分:1)
Firebase仅接受JSON
格式的所有数据。当您获得Firebase任何特定节点的Datasnapshot
时,您将获得该节点下的完整数据,该节点仅为JSON。
获得Datasnapshot JSON
后,您可以使用任何JSON
库对其进行解析,具体取决于您使用的平台。
您可以在此处参考Datasnapshot Methods了解详情。
答案 1 :(得分:0)
没有任何额外的库,您也可以这样做:
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)
}