我有这个 JSON 数据要解析:
{
"data": {
"user_name": "JohP llDoe",
"email_address": "tozto@gmail.com"
},
"result": {
"code": 0
}
}
数据类型从网络服务变为另一种,但总体结构始终相同。
所以我使用 EVReflection 创建了这个通用类来解析数据:
class MyResponse<T>: EVObject {
var data : T?
var result : Result?
}
class Result: EVObject {
var message : String = ""
var code : Int = 0
}
对于数据:
class Preaccount : EVObject {
public var user_name : String = ""
public var email_address : String = ""
}
并调用我创建此方法的网络服务:
Alamofire.request(url, method: .post, parameters: params, encoding: JSONEncoding.default, headers: headers)
.responseObject { (response: DataResponse<MyResponse<Preaccount>>) in
if response.result.isSuccess {
print(response.result.value!)
}
if response.result.isFailure {
let error : Error = response.result.error!
}
}
现在我无法访问:
有没有办法创建一个泛型方法并在参数中传递已解析的模型。
最佳答案
你可以试试这个
class MyResponse: EVObject {
var data : Preaccount?
var result : Result?
}
并处理响应数据
Alamofire.request(url, method: .post, parameters: params, encoding: JSONEncoding.default, headers: headers)
.responseObject { (response: DataResponse) in
if response.result.isSuccess {
print(response.result.value!)
var myResponse = MyResponse(json:response.result.value!)
}
.......
}
关于iOS swift Alamofire解析,创建泛型类解析json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48504646/