ios - Alamofire 获取请求和 JSON 响应(Yelp API)

标签 ios json swift swifty-json yelp

我正在尝试使用 Yelp 的业务搜索 API ( https://www.yelp.ca/developers/documentation/v3/business_search ) 通过 Alamofire 发送 http get 请求,但我在写出语法时遇到了问题。我是初学者,也是第一次使用 Alamofire,所以希望能提供一些帮助!我也在尝试设置“term”和“location”参数。完成后,我希望通过 SwiftyJSON 进行解析,但不确定如何/在何处接收响应。

这是我当前的代码:

import UIKit
import Alamofire
import SwiftyJSON

private let reuseIdentifier = "cafeCell"

class CafeListCollectionViewController: 
UICollectionViewController,UICollectionViewDelegateFlowLayout {


override func viewDidLoad() {
    super.viewDidLoad()

    let requestParams: Parameters = ["term": "cafe", "location": "Montreal, QC"]

    //Http request

    let apiToContact = "https://api.yelp.com/v3/businesses/search"

    Alamofire.request(.GET, apiToContact, requestParams).responseJSON { (responseObject) -> Void in

        print(responseObject)

        if responseObject.result.isSuccess {
            let resJson = JSON(responseObject.result.value!)
            success(resJson)
        }
        if responseObject.result.isFailure {
            let error : NSError = responseObject.result.error!
            failure(error)
        }

    }

如果这听起来像是一个简单的问题,我很抱歉。我是编程新手,非常感谢您的帮助。非常感谢!

最佳答案

问题可能是您查看的是 Swift 2 示例,但使用的是 Swift 3。这是 Swift 3 版本:

    let requestParams: Parameters = ["term": "cafe", "location": "Montreal, QC"]

    //Http request

    let apiToContact = "https://api.yelp.com/v3/businesses/search"


    Alamofire.request(apiToContact, method: .get, parameters: requestParams, encoding: URLEncoding.default, headers: nil).responseJSON { (responseObject) in
        print(responseObject)
        if responseObject.result.isSuccess {
            let resJson = JSON(responseObject.result.value!)
            success(resJson)
        }
        if responseObject.result.isFailure {
            let error : NSError = responseObject.result.error!
            failure(error)
        }
    }

您还需要来自 Yelp 的 API token 才能获得有效响应。

关于ios - Alamofire 获取请求和 JSON 响应(Yelp API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45087451/

相关文章:

python - 如何将 GeoJsonTooltip 添加到 folium 中的 folium.Choropleth 类?

c# - 使用Newtonsoft和biding View(MVVM)反序列化JSON

ios - 找不到 downloadimageurl 来下载 Collection View 单元格图像的图像

ios - 快速检查 viewDidLoad 上的 uiswitch 状态

arrays - 实例成员不能用于数组类型

ios - Game Center 游戏是否需要在获得成就时向玩家报告成就?

ios - 无法添加 UIImageView Xcode Swift

ios - 如何在 Swift 中获取和设置 Http Header?

ios - iCarousel 中的滚动方向?

mysql - 错误 : Most middleware (like json) is no longer bundled with Express and must be installed separately. 请参阅