2016-08-01 72 views
0

我一直在環顧四周,學習JSON一點點。我認爲用簡單的東西開始學習會很好,但事實似乎並非如此。我正在嘗試做JSON數據庫。例如它有品牌名稱,每個品牌都有自己的產品和一些信息。我已經做了這樣的這實際上是更長的時間:完美的JSON結構

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

我現在用的火力地堡解析「品牌」喜歡「俘獲」等。但我不能。

在SWIFT我試圖做這樣的:

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

    }) 
} 

如何先拿到參考品牌?以及如何分開存儲品牌列表?

有些聰明人告訴我這樣做不正確,但我不知道JSON結構有什麼問題。我怎樣才能把它弄平?

我把文檔也寫成紅色,說明如何做到這一點最好,但是對於互相瞭解有點小。你能指點我正確的方向嗎?

+0

意味着你希望所有的品牌名稱seperately ???? –

+0

@ EICaptainv2.0我其實不知道。這就是我困惑的原因。聊天中的一個人告訴我,我必須這樣做,但我不明白這一點,這就是我在這裏問的原因。 –

+0

你能解釋一下你真正想要做什麼......所以我可以幫你 –

回答

1

您需要做的僅僅allKeys擺脫扣allKeys

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() 
      } 
     } 
    })