如何快速获取响应 JSON
Posted
技术标签:
【中文标题】如何快速获取响应 JSON【英文标题】:how to get the response JSON in swift 【发布时间】:2020-11-29 10:01:28 【问题描述】:我收到了来自 Alamofire 发布请求的回复。我想从响应中获取状态码。 代码如下:
case .success(let upload, _, _):
upload.responseJSON response in
print(response.result.value!)
下面是响应:
【问题讨论】:
【参考方案1】:响应结果的value
属性是一个字典。您可以像这样提取状态:
let json = response.result.value as? [String: Any]
if let status = json?["status"] as? Int
print(status)
【讨论】:
【参考方案2】:在具有可编码结构的 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
【讨论】:
以上是关于如何快速获取响应 JSON的主要内容,如果未能解决你的问题,请参考以下文章