1、Ultimate Guide to JSON Parsing with Swift 4
https://benscheirman.com/2017/06/swift-json/
2、Swift 4 踩坑之 Codable 协议
https://www.jianshu.com/p/bdd9c012df15
3、RxSwift/Moya/Codable在MVVM中的使用
https://www.jianshu.com/p/d80287cdee52
4、Moya(Alamofire)+Codable转modle,简单封装
http://code.cocoachina.com/view/137137
5、使用 Moya + ObjectMapper/Codable/SwiftyJSON (三选一)封装的一个网络层
https://www.jianshu.com/p/dff4e8c9610c
- 自定义字段
struct DIScoreModel: Codable {
var code: String?
var score: String?
var msg: String?
var classLevel: String?
// 自定义字段
enum CodingKeys: String, CodingKey {
case code
case score
case msg
case classLevel = "class"
}
}
目前疑问:(有知道的帮忙解答下,谢谢)
1、对于多层的json,如果不想解析到底部,只解析1-2层,其他层使用Dictionary或者String代替,如何处理?
已知:解析到底不会出错
2、对于json中的数据为int类型的,如何解析为String类型?
已知:
会报错
typeMismatch(Swift.String, Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "body", intValue: nil), CodingKeys(stringValue: "uid", intValue: nil)], debugDescription: "Expected to decode String but found a number instead.", underlyingError: nil))