API更改键的名称,如 "id" 改为 "employeeID",解决方法:
struct Employee: Codable { var name:String var id: Int var mToy:Toy enum CodingKeys: String, CodingKey{ case id = "emplyeeID" case name case mToy } } struct Toy:Codable { var name:String }
// jsonString的输出结果为
// "{"name":"EmployA","mToy":{"name":"Teddy Bear"},"emplyeeID":1}"
说明:
- CodingKeys必须是嵌套在声明的struct中的
- CodingKeys必须遵守CodingKey协议
- 因为键都是String类型,所以需要在CodingKeys上声明为String enum CodingKeys: String, CodingKey
- 即使不打算重新命名所有的键也要在CodingKeys中列出所有的键