如何解析Swift 5中Alamofire对Model结构体的JSON响应



我试图用Alamofire发布mysql数据库,我成功了,但我的响应似乎不是json,我想把响应值传递给模型结构。我试过这个代码。哪里出了问题?如果你能帮忙,我将不胜感激。

func register(registerModel:RegisterResponse,completion:@escaping (RegisterModel?)->() ){
let parameters: [String: Any] =
[
"email": "(registerModel.email)",
"password": "(registerModel.password)",
"first_name": "(registerModel.first_name)",
"last_name": "(registerModel.last_name)",
]

AF.request(registerUrl,method: .post,parameters: parameters,encoding: URLEncoding.httpBody,headers: nil).responseJSON(){ response in
//debugPrint(response)
switch response.result{

case .success(let data):

if response.data != nil {

print(data)
completion(data as? RegisterModel)

}


case .failure(let err):
print(err.localizedDescription)
}
}

}

输出:

{
result = "account already exists";
tf = 0;
verificationCode = "<null>";
}

假设您的RegisterResponseDecodable,只需使用responseDecodable:

AF.request(registerUrl, method: .post, parameters: parameters, encoding: URLEncoding.httpBody)
.responseDecodable(of: RegisterResponse.self) { response in
// Handle response.
}

试试这个

AF.request(registerUrl, method: .post, parameters: parameters, encoding: JSONEncoding.default) .responseJSON { (response) in
print(response)
}

最新更新