iOS swift Alamofire解析,创建泛型类解析json数据

标签 ios json swift generics alamofire

我有这个 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!
                }
        }

现在我无法访问:

enter image description here

有没有办法创建一个泛型方法并在参数中传递已解析的模型。

最佳答案

你可以试试这个

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/

相关文章:

iphone - 数组返回空值,arr = [[tempDict1 valueForKey : @"rates"] componentsSeparatedByString: @";"];

ruby-on-rails - 如何在 Rails 应用程序和客户端之间共享数据(始终可用)

ios - Swift- 'For' 循环不向总结果添加变量

iOS - 按需添加标签?

ios - 收到此错误 : thread 1: exc_bad_instruction(code=exc_i386_invop, subcode=0x0)

java - 扩展单一 ID REST 端点以支持多个 ID

swift - Webkit (swift) 不打开任何页面

javascript - 未调用 Cordova 插件回调 (iOS)

ios - 在 xib 中以编程方式自定义 UIView

swift - Core ML : Creating Model with Create, 工作正常但如何控制未经训练的输入?