我尝试从网站获取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()
}
如何获取所有产品数据。请指教。谢谢。
答案 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()
}