gpt4 book ai didi

json - 使用 Rx 编程 Moya 将 JSON 响应映射到对象

转载 作者:行者123 更新时间:2023-11-30 12:20:25 25 4
gpt4 key购买 nike

我正在尝试使用 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 更新,但没有任何变化。我真的不明白为什么它不起作用。

预先感谢您的帮助!

最佳答案

问题出在这几行

try name = map.from("name")
try lastname = map.from("lastname")

您的 json 数据没有有这两个键,“name”和“lastname”。如果数据可能为空或存在,请尝试删除这两行或将它们设为“可选”

lastname = map.optionalFrom("lastname")

关于json - 使用 Rx 编程 Moya 将 JSON 响应映射到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44862488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com