我正在尝试使用ModelMapper库的mapObject函数,如下所示:
return provider.request(API.userInfo(userId: API.userId))
.mapObject(type: UserTest.self, keyPath: "user")
这个Json:
{
"success": true,
"user": {
"_id": "HJzCZaXEW",
"mail": "Valentin",
"__v": 0,
"bikes": [
"S1rjHamNZ",
"HkxhHpXEZ"
],
"updated": "2017-06-30T12:19:22.016Z",
"created": "2017-06-30T12:19:22.015Z"
}
}
我试图用这种方式看出错误是什么:
API.getUserInfo()
.subscribe {event in
switch event {
case .next(let response):
print(response)
case .error(let error):
print("error")
print(error)
default:
print("default")
}
}
我在我的控制台中得到了这个:
error
jsonMapping(Status Code: 200, Data Length: 177)
这是我的映射结构:
import Mapper
struct UserTest: Mappable {
var name: String
var lastname: String
var mail: String
var bikes: [String]
init(map: Mapper) throws {
try name = map.from("name")
try lastname = map.from("lastname")
try mail = map.from("mail")
try bikes = map.from("bikes")
}
}
我也尝试过pod更新但没有任何改变。 我真的不明白为什么它不起作用。
提前感谢您的帮助!
答案 0 :(得分:0)
问题出在这些方面
try name = map.from("name")
try lastname = map.from("lastname")
你的json数据不有这两个键," name"和"姓氏"。尝试删除这两行或将两者都作为"可选"如果数据可能为空或存在
lastname = map.optionalFrom("lastname")