无法通过Alamofire Swift获取Json数据

时间:2015-09-13 07:21:15

标签: json xcode swift alamofire

我尝试从网站获取json数据,但是,我可以访问json数据,如下所示。

   { 
  "product_categories":[ 
     {    
     "id":27,
     "name":"Clothing",
     "slug":"product-categories-1",
     "parent":0,
     "description":"",
     "count":3
   }
  ]
} 

另一方面,当我尝试获取如下的json数据时,

   { 
     "product":{ 
     "title":"Night Cream",
     "id":4573,
     "created_at":"2015-08-21T07:54:09Z",
     "updated_at":"2015-08-27T01:37:06Z",
    }

 }

有jason数据回复“[]”

我正在使用Alamofire获取数据。这是我的代码。

       Alamofire.request(.GET, url).responseJSON {
        (request, response, json, error) in

        if json != nil {


            var jsonObj = JSON(json!)

            if let data = jsonObj["product"].arrayValue as [JSON]? {
                self.productsAll = data
                self.collectionView!.reloadData()

            }

如何获取所有产品数据。请指教。谢谢。

1 个答案:

答案 0 :(得分:1)

您正在尝试将json对象强制转换为json数组,这意味着您的条件展开将永远不会执行。

替换

if let data = jsonObj["product"].arrayValue as [JSON]? {
    self.productsAll = data
    self.collectionView!.reloadData()
}

if let data = jsonObj["product"].dictionaryObject {
    // since self.productsAll seems to be an array, append the product to the array or rebuild the array before calling self.collectionView!.reloadData()
}