alamofire parse json swift 5

在 Swift 5 中使用 Alamofire 解析 JSON 数据非常简单。我们可以使用 responseJSON 方法来获取 JSON 数据,并使用 Swift 5 引入的 Codable 协议将 JSON 数据转换为 Swift 对象。

下面是一个示例代码,假设我们有一个 API 接口返回以下 JSON 数据:

"id" : 1 , "name" : "John" , "age" : 30

我们可以定义一个对应的 Swift 结构体 User ,并实现 Codable 协议:

struct User: Codable {
    let id: Int
    let name: String
    let age: Int

接下来,我们可以使用 Alamofire 发起网络请求,并在回调中使用 responseJSON 方法将 JSON 数据转换为 User 对象:

AF.request("https://example.com/api/user/1").responseJSON { response in
    switch response.result {
    case .success(let data):
            let decoder = JSONDecoder()
            let user = try decoder.decode(User.self, from: data as! Data)
            // 在这里使用转换后的 user 对象
        } catch {
            print(error)
    case .failure(let error):
        print(error)

在这个示例中,我们首先使用 responseJSON 方法获取到 JSON 数据,然后使用 JSONDecoder 类将 JSON 数据转换为 User 对象。最后,我们可以在成功的回调中使用转换后的 user 对象。

值得注意的是,responseJSON 方法返回的是一个 DataResponse<Any> 类型的对象,其中的 data 属性是 Any 类型的,需要使用类型转换将其转换为 Data 类型。在使用 JSONDecoder 解析 JSON 数据时,我们需要使用 trycatch 处理可能的解析错误。

  •