如何在 swift 中获得响应 JSON

how to get the response JSON in swift

我的 Alamofire post 请求得到了回复。我想从响应中获取状态代码。 这里的代码:

case .success(let upload, _, _):
    upload.responseJSON { response in
        print(response.result.value!)
    }

响应如下:

响应结果的value属性是字典。您可以像这样提取状态:

let json = response.result.value as? [String: Any]
if let status = json?["status"] as? Int {
    print(status)
}

在具有 Codable 结构的 Alamofire 5 中使用 responseDecodable

将 responseJSON 替换为 responseDecodable。
.responseDecodable { (response: AFDataResponse<ProfileModel>) in
        switch response.result {
        case .success(let profileModel):
            switch profileModel.status {
            case 200:
                print("success")
            case 101:
                print("sessionExpire")
            default:
                print("default")
            }
        case .failure(let error):
            print("failure")
        }
    }

个人资料模型

struct ProfileModel: Codable {
    let status: Int
    let type: String
    let data: ProfileDataModel
}

struct ProfileDataModel: Codable {
    let ImagePath: String
    let ThumbImagePath: String
}