swift - ObjectMapper 无法序列化响应。来自使用 AlamofireObjectMapper 的 API 响应
问题描述
很快,我正在使用 AlamofireObjectMapper。但我收到错误“ObjectMapper 无法序列化响应”。这是我的api响应和模型,请给我解决方案。作为回应,没有任何空值。
这是 API 响应
{"status":true,"result":[{"id":"246","sortname":"ZW","name":"Zimbabwe","phonecode":"263"},{"id":"245","sortname":"ZM","name":"Zambia","phonecode":"260"},{"id":"202","sortname":"ZA","name":"South Africa","phonecode":"27"},{"id":"244","sortname":"YU","name":"Yugoslavia","phonecode":"38"},{"id":"141","sortname":"YT","name":"Mayotte","phonecode":"269"},{"id":"243","sortname":"YE","name":"Yemen","phonecode":"967"},{"id":"91","sortname":"XU","name":"Guernsey and Alderney","phonecode":"44"}]}
这是调用 API
Alamofire.request(geturl, method: .get).responseArray { [weak self] (response: DataResponse<[countrymodel]>) in
print(response)
switch response.result {
case .success(let assignments):
let realm = try! Realm()
try! realm.write {
realm.delete(realm.objects(countrymodel.self))
realm.add(assignments, update: true)
}
for a in assignments{
print(a)
}
case .failure(let error):
print(".... . .. . .. . .")
}
}
这是我的模型课
import UIKit
import RealmSwift
import ObjectMapper
class countrymodel: Object, Mappable{
enum Status: Int, CustomStringConvertible {
case open, closed, cancelled
var description : String {
switch self {
case .open: return "Open"
case .closed: return "Closed"
case .cancelled: return "Cancelled"
}
}
}
@objc dynamic var id = 0
@objc dynamic var sortname = ""
@objc dynamic var name = ""
@objc dynamic var phonecode = ""
override static func primaryKey() -> String? {
return "id"
}
required convenience init?(map: Map) {
self.init()
}
func mapping(map: Map) {
id <- (map["id"])
sortname <- map["sortname"]
name <- map["name"]
phonecode <- map["phonecode"]
}
}
解决方案
您的响应不是一个数组,而是一个字典,并且在其中有一个名为的数组result
,因此序列化失败,您可以成功
Alamofire.request(geturl, method: .get).responseJSON
并仅解析该数组
推荐阅读
- python - Python - 我想以 10 年的间隔分组并将其合并回来
- java - Spring boot Kafka 不起作用 - 消费者未收到消息
- windows - Ansible - 如何将域组作为变量
- excel - 如何编写一个公式以生成固定数量的连续数字行?
- sql-server - 备份完成后如何在powershell中使用backup-sqldatabase获取备份路径详细信息
- matlab - Gurobi 混合整数线性规划问题间隙信息
- scala - 尝试在远程会话中的两个顶点之间创建边时引发 NegativeArraySizeException 错误
- html - 具有垂直和水平滚动的 Ant Design Table
- python - 如何在python中按年份对行对象列表进行分组?
- reactjs - 状态更改时重新渲染返回空白