我刚开始使用 Argo 将我的 json 响应解析为对象。我有以下代码(见下文),但它不断抛出以下错误:
类型“应用程序”不符合协议“可解码”
无法使用类型为“((applicationID:String,contact:String,state:String,jobTitle:String,area:String,pay:String)-> Application)的参数列表调用'curry'
import Foundation
import Argo
import Curry
struct Application {
let applicationID: String
let contact: String
let state: String
let jobTitle: String
let area: String
let pay: String
}
extension Application: Decodable {
static func decode(j: JSON) -> Decoded<Application> {
return curry(Application.init)
<^> j <| "ApplicationID"
<*> j <| "contact"
<*> j <| "state" // Use ? for parsing optional values
<*> j <| "jobTitle" // Custom types that also conform to Decodable just work
<*> j <| "area" // Parse nested objects
<*> j <| "pay" // parse arrays of objects
}
}
我已将应用程序扩展为可解码,所以不明白为什么会出现此错误。
我还尝试在此处添加 Argo git hub 页面中的示例:https ://github.com/thoughtbot/Argo with struct type User
。然而,这引发了同样的错误。
我用可可豆荚来安装 argo 和 curry。自安装以来,我还清理了我的项目并重新启动。但是我仍然收到这些错误。
有谁知道为什么会发生这种情况?