ios swift5 codable字典转模型,第三方库SmartCodable

文章目录

  • [1.用第三方库SmartCodable, github地址](#1.用第三方库SmartCodable, github地址)
  • 2.使用示例

1.用第三方库SmartCodable, github地址

SmartCodable - github

2.使用示例

swift 复制代码
import Foundation
import SmartCodable

struct CommonModel: SmartCodable {
    var message: String = ""
    var success: Bool = false
    var code: Int = -1
    var result:  SmartAny? //result可能是字典,也可能是数组
    var timestamp: Int = -1
    
}
  • moya发起网络请求后解析
swift 复制代码
        provider.request(.login(username: email, password: password)) { result in
            switch result {
            case let .success(response):
                do {
                    // 解析响应数据
                    if let json = try response.mapJSON() as? [String: Any] {
                        guard let commonModel = CommonModel.deserialize(from: json) else { return }
                        
                        
                        guard let dict = commonModel.result?.peel as? [String:Any] else { return }
                        if let token = dict["token"] as? String  {
                            MyPrint("Login successful, token: \(token)")
                        }

参考博客:
SmartCodable - Swift数据解析的智能解决方案 简书

相关推荐
符哥20082 小时前
iOS 开发中常用的第三方库 / 框架列表
ios
2501_915921432 小时前
iOS 抓包怎么绕过 SSL Pinning 证书限制,抓取app上的包
android·网络协议·ios·小程序·uni-app·iphone·ssl
TheNextByte117 小时前
如何在 iPad/iPhone 上删除语音邮件?
ios·iphone·ipad
TheNextByte118 小时前
如何修复iPhone短信消失问题?
ios·cocoa·iphone
二流小码农20 小时前
鸿蒙开发:独立开发者的烦恼之icon图标选择
android·ios·harmonyos
智先森zhi20 小时前
实战:将 Android 多Module应用迁移到 kmp+cmp
android·ios·kotlin
TheNextByte11 天前
如何在没有iTunes的情况下重启/恢复出厂设置iPhone
ios·cocoa·iphone
芝加哥兔兔养殖场1 天前
前端/iOS开发者必备工具软件合集
前端·ios
TheNextByte11 天前
如何从 iPhone 仅传输喜爱的照片?
ios·iphone
m0_641031051 天前
iOS签名是什么?为什么苹果APP需要签名
经验分享·科技·ios·游戏程序