2016-08-01 26 views
0

Ich habe mich umgesehen und JSON ein wenig gelernt. Ich dachte, es wäre gut, mit etwas Einfachem zu lernen, aber es scheint, dass es nicht so ist. Ich versuche JSON Datenbank zu tun. Zum Beispiel hat es Markennamen und jede Marke hat ihre eigenen Produkte mit einigen Informationen. Ich habe das so gemacht, die eigentlich viel mehr ist:Perfekte JSON Struktur

{ 
    "Snuses": { 
    "Brands": { 
     "CATCH": [ 
     { 
      "Products": "CATCH EUCALYPTUS WHITE LARGE", 
      "nicotine": "8.0" 
     } 
     ] 
} 

Jetzt bin ich mit Firebase die „Marken“ wie „CATCH“ usw. zu analysieren .. Aber ich kann nicht.

In swift Ich versuche, es so zu tun:

override func viewDidLoad() { 
    super.viewDidLoad() 
    ref = FIRDatabase.database().reference() 
    ref.observeSingleEventOfType(.Value, withBlock: { snapshot in 

     self.ref = FIRDatabase.database().reference().child("Snuses").child("Brands") 

     self.ref.observeEventType(.Value, withBlock: { snapshot -> Void in 
      for brands in snapshot.children { 
       print(brands) 
      } 
     }) 

    }) 
} 

Wie Bezug auf die Marken zuerst zu bekommen? Und wie man eine Markenliste separat speichert?

Einige intelligente Jungs haben mir gesagt, dass es nicht richtig ist, aber ich weiß nicht, was mit der JSON Struktur falsch ist. Wie kann ich es abflachen?

Ich rot die Docs auch, die sagt, wie es am besten ist, es zu tun, aber es ist ein wenig zu komplizieren. Kannst du mich in die richtige Richtung weisen?

+0

bedeutet, dass Sie alle seperat Namen Marke erhalten möchten ???? –

+0

@ EICaptainv2.0 Ich weiß es eigentlich nicht. Deshalb bin ich verwirrt. Ein Typ im Chat hat mir gesagt, dass ich das tun muss und ich habe es nicht verstanden und deshalb habe ich hier gefragt. –

+0

können Sie erklären, was Sie eigentlich tun möchten ... so kann ich Ihnen helfen –

Antwort

1

Sie müssen nur allKeys tun AllKeys von Snap

let ref = FIRDatabase.database().reference().child("Snuses").child("Brands") 

    ref.observeSingleEventOfType(.Value, withBlock: { (snapshot) in 
     if snapshot.exists() { 
      if let allProducts = (snapshot.value?.allKeys)! as? [String]{ 
       self.snusBrandsArray = allProducts      
       self.productstable.reloadData() 
      } 
     } 
    })