Swift 2 SwiftyJSON API数据到UITableView

时间:2016-01-31 09:10:31

标签: ios json swift uitableview swifty-json

我的应用应该显示产品标题 / 价格 / 产品图片 / 产品说明,并且它会获取数据使用 Alamofire SwiftyJSON 以JSON格式,并在UITableview中显示它。

JSON数据的链接是:https://www.spree.co.za/api/v1/catalog/browse/2641

还有很多其他信息我也不需要。我将如何为例如保存。数组中的“title”,“imageURL”,“Size”?

这是我用来获取“标题”的代码

var productTitles = JSON

func getJsonData(){
    Alamofire.request(.GET, "https://www.spree.co.za/api/v1/catalog/browse/2641").responseJSON { (response) -> Void in

        //Check if the result have value
        if let value = response.result.value {

            let json = JSON(value)
            let objects = (json["products"])

            //While Loop
            var x = 0
            while x < objects.count {
                self.productTitles.append(objects[x]["title"])
                x++
            }

            //Test
            print(self.productTitles[3])
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你可以这样做:

func getTitlesFromJson(data: AnyObject?) -> [String] {
    guard data != nil else {
        return []
    }
    let json = JSON(data!)

    var titles: [String] = []
    for (_, subJson): (String, JSON) in json["products"] {
        if let title = subJson["title"].string {
            titles.append(title)
        }
    }
    return titles
}

并像这样使用它:

Alamofire.request(...).responseJSON { (response) -> Void in

    //Check for error
    ...

    let titles = getTitlesFromJson(response.result.value)

    // Other actions
    ...

}

其他数组也是类似的