我可以在查询 FDatasnapshot 后对其进行操作吗?
Can I manipulate FDatasnapshot once I have queried for it?
我希望能够对返回的 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)
}
}
Firebase 只接受 JSON
格式的所有数据。当您获得 Firebase 的任何特定节点的 Datasnapshot
时,您将获得该节点下的完整数据,总共只有 JSON。
获得 Datasnapshot JSON
后,您可以使用任何 JSON
库解析它,具体取决于您使用的平台。
您可以参考此处Datasnapshot Methods了解更多信息。
没有任何额外的库,你也可以这样做:
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)
}
我希望能够对返回的 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)
}
}
Firebase 只接受 JSON
格式的所有数据。当您获得 Firebase 的任何特定节点的 Datasnapshot
时,您将获得该节点下的完整数据,总共只有 JSON。
获得 Datasnapshot JSON
后,您可以使用任何 JSON
库解析它,具体取决于您使用的平台。
您可以参考此处Datasnapshot Methods了解更多信息。
没有任何额外的库,你也可以这样做:
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)
}