2016-10-05 23 views
0

私のデータは以下のとおりです。JSONでデータを取得するにはどうすればよいですか?

{ "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" 
     } 
    } 
} 
} 

そして、私はデータ

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") 


     }) 

を取得するには、エラーを返します。

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

はどうやってデータを得ることができますか? GLjqemedMVRK1mgZVpPaIOuMuNx1およびSLtt56YlVsRfjrnAyBlUNdEakly2は、ユーザーがuidであることに注意してください。

+1

出力は'? –

+0

スナップショット:Snap(GLjqemedMVRK1mgZVpPaIOuMuNx1){ adi = "e e"; aracMarkasi = HONDA; aracModeli = Civic; eposta = "[email protected]"; motorHacmi = "1.6"; } @ Mr.UB – ROOT

答えて

2

試してみてください - `プリント(スナップショット)の

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

そして、どのようにしてadi、soyadiなどをforループで使用できますか?すべての変数がそれぞれの終わりに満たされるからです。 @Dravidian – ROOT

+0

配列を使用して、それらの値を追加...あなたの問題を解決した場合、これを答えとして受け入れ、upvote :)ハッピーコーディング – Dravidian

関連する問題