2016-10-05 5 views
0

Meine Daten sind:Wie kann ich Daten in meinem JSON erhalten?

{ "Users" : { 
    "Info" : { 
     "GLjqemedMVRK1mgZVpPaIOuMuNx1" : { 
     "adi" : "e e", 
     "aracMarkasi" : "HONDA", 
     "aracModeli" : "Civic", 
     "eposta" : "[email protected]", 
     "motorHacmi" : "1.6" 
     }, 
     "SLtt56YlVsRfjrnAyBlUNdEakly2" : { 
     "adi" : "e g", 
     "aracMarkasi" : "SEAT", 
     "aracModeli" : "Leon", 
     "eposta" : "[email protected]", 
     "motorHacmi" : "1.4 Tsi" 
     } 
    } 
} 
} 

Und ich abrufen dann Daten

let databseRef = FIRDatabase.database().reference(fromURL: "https://ffs.firebaseio.com/Users/Info/") 
databseRef.queryOrderedByKey().observe(.childAdded, with: { snapshot in 

      let adi = snapshot.value(forKey: "adi") 
      let eposta = snapshot.value(forKey: "eposta") 
      let aracMarkasi = snapshot.value(forKey: "aracMarkasi") 
      let aracModeli = snapshot.value(forKey: "aracModeli") 
      let motorHacmi = snapshot.value(forKey: "motorHacmi") 


     }) 

Es gibt Fehler:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<FIRDataSnapshot 0x78f6d5b0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key adi.' 

Wie kann ich Daten? Beachten Sie, dass GLjqemedMVRK1mgZVpPaIOuMuNx1 und SLtt56YlVsRfjrnAyBlUNdEakly2 Benutzer uid sind.

+1

Ausgabe von 'print (Snapshot)' ist? –

+0

Momentaufnahme: Snap (GLjqemedMVRK1mgZVpPaIOuMuNx1) { adi = "e e"; aracMarkasi = HONDA; aracModeli = Bürgerlich; eposta = "[email protected]"; MotorHacmi = "1.6"; } @ Mr.UB – ROOT

Antwort

2

Versuchen: -

FIRDatabase.database().reference().child("Users/Info").observeSingleEvent(of: .childAdded, with: {(snap) in 

     if let snapDict = snap.value as? [String:AnyObject]{ 

      for each in snapDict{ 

       print(each) 
       let adi = each.value["adi"] 
       let eposta = each.value["eposta"] 
       let aracMarkasi = each.value["aracMarkasi"] 
       let aracModeli = each.value["aracModeli"] 
       let motorHacmi = each.value["motorHacmi"] 

      } 
     } 
    }) 
+0

Und wie kann ich adi, soyadi, etc. aus for Schleife verwenden? Weil alle Variablen für jedes Ende nachfüllen. @Dravidian – ROOT

+0

Verwenden Sie Arrays, fügen Sie diese Werte hinzu ... Akzeptieren und upvote dies als Antwort, wenn es Ihr Problem gelöst hat :) Happy Coding – Dravidian

Verwandte Themen