我的应用应该显示产品标题 / 价格 / 产品图片 / 产品说明,并且它会获取数据使用 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])
}
}
}
答案 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
...
}
其他数组也是类似的