JSON 图像 https://i.stack.imgur.com/V7yZA.png我想查询如下:如果我提供电子邮件,那么我必须获取 ID。目前我可以获取电子邮件或 ID,但我需要以下示例的解决方案。
例如
1)如果我给[email protected] /cdn-cgi/l/email-protection
那么我需要它的 ID123
.
我怎样才能快速实现这一目标?
这是我的JSON
file:
{
"ID": 123,
"Membership": 1234,
"title": "Mr.",
"firstname": "kumar",
"lastname": "sandeep",
"email": "[email protected] /cdn-cgi/l/email-protection",
"membrshipstatus": "Active",
"volunteer": "Yes",
"creationDate": "2016-12-27 "
},
{
"ID": 452,
"Membership": 4531,
"title": "Mr.",
"firstname": "kumar",
"lastname": "sandeep",
"email": "[email protected] /cdn-cgi/l/email-protection",
"membrshipstatus": "Active",
"volunteer": "Yes",
"creationDate": "2016-11-17 "
},
这是我的Swift
code:
import UIKit
import Firebase
import FirebaseAuth
class ViewController: UIViewController {
@IBOutlet weak var emailofUser: UITextField!
@IBOutlet weak var passwordofUser: UITextField!
var ref:FIRDatabaseReference! //created a variable ref of type firebase database reference
var databaseHandle:FIRDatabaseHandle? //to handle to database listener like to stop or start it
var postdata = [String]?()
var postall = [[String:String]]()
override func viewDidLoad() {
super.viewDidLoad()
//set firebase reference
ref = FIRDatabase.database().reference()
ref.child("1").child("email").observeEventType(.Value, withBlock: { snapshot in
let emailid = snapshot.value as? String
print(emailid)
})
ref.child("1").child("ID").observeEventType(.Value, withBlock: { snapshot1 in
let userID = snapshot1.value as? Int
print(userID)
})
ref.queryOrderedByValue().observeEventType(.ChildAdded, withBlock: { snapshot2 in
if let parentname = snapshot2.value as? Int {
print("The \(snapshot2.key) dinosaur's score is \(parentname)")
}
})
}
}
与此 JSON 图像相关的 Swift 代码:
override func viewDidLoad() {
super.viewDidLoad()
//set firebase reference
ref = FIRDatabase.database().reference()
let userRef = ref.child("1")
//let queryRef = userRef.queryOrderedByChild("email").queryEqualToValue("[email protected] /cdn-cgi/l/email-protection")
userRef.queryOrderedByChild("email").queryEqualToValue("[email protected] /cdn-cgi/l/email-protection").observeEventType(.Value, withBlock: { snapshot in
for child in snapshot.children{
let snap = child as! FIRDataSnapshot
let userDict = snap.value as! [String:Any]
let userId = userDict["ID"]
let lastname = userDict["lastname"]
print("\(userId!) \(lastname!)")
}
})