完美的JSON结构

时间:2016-08-01 11:34:45

标签: json swift firebase firebase-realtime-database nosql

我一直在四处寻找并稍微学习JSON。我认为开始学习一些简单的东西会很好,但似乎不是。我正在尝试JSON数据库。例如,它有品牌名称,每个品牌都有自己的产品和一些信息。我已经这样做了,实际上要长得多:

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

现在我正在使用 Firebase 来解析"品牌"喜欢" CATCH"等等。但我不能。

在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结构有什么问题。我怎样才能弄平它?

我对文档进行了重新说明也说明了如何做到这一点,但它有点复杂。你能指出我正确的方向吗?

1 个答案:

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