直接解析
struct Student : Codable {
var name: String
var gender: String
var height: Int
}
let dic = [ "name" : "tony" , "gender" : "boy" , "height" : 170 ] as [ String : Any ]
let data = try ? JSONSerialization . data ( withJSONObject: dic, options: [ ] )
let model = try ! JSONDecoder ( ) . decode ( Student . self , from: data! )
print ( model. name , model. gender , model. height)
//log
tony boy 170
修改字段名解析
struct Student : Codable {
var name: String
var gender: String
var height: Int
private enum CodingKeys : String , CodingKey {
case name
case gender
case height= "h"
}
}
let dic = [ "name" : "tony" , "gender" : "boy" , "h" : 170 ] as [ String : Any ]
let data = try ? JSONSerialization . data ( withJSONObject: dic, options: [ ] )
let model = try ! JSONDecoder ( ) . decode ( Student . self , from: data! )
print ( model. name , model. gender , model. height)