【发布时间】:2019-05-28 19:09:53
【问题描述】:
我正在尝试使用Alamofire 和SwiftyJSON 将JSON 字典数组快速加载到一个对象中,但是当下载数据时,我得到了错误:
keyNotFound(CodingKeys(stringValue: "inProrgresss", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"inProrgresss\", intValue: nil ) (\"inProrgresss\").", basedError: nil)).
本地化描述只是说数据丢失。我的 JSON 是 here,我的代码是这样的:
struct CompData: Codable {
let inProrgresss: [[String: String]]
let past: [[String: String]]
let upcoming: [[String: String]]
}
func getData(url: URLConvertible) {
SVProgressHUD.show()
Alamofire.request(url).responseJSON { (dataResponse) in
if dataResponse.result.value != nil {
SVProgressHUD.dismiss()
let JSONVar = JSON(dataResponse.result.value)
let data = Data(dataResponse.data!)
print(data)
let decoder = JSONDecoder()
do {
let newData = try decoder.decode(CompData.self, from: data)
print("NEWDATA \(newData)")
} catch {
print(error)
}
print(JSONVar)
}
}
}
我对将 JSON 转换为数据类型还很陌生,我在这里找不到任何有用的东西。
【问题讨论】:
标签: json swift alamofire decodable jsondecoder