gpt4 book ai didi

swift - 快速传递 JSON 作为参数

转载 作者:行者123 更新时间:2023-11-28 05:40:58 25 4
gpt4 key购买 nike

我正在进行一个 api 调用,需要我将 JSON 作为参数传递。当我这样做时,它会使应用程序崩溃。我在我的网络中使用 Moya,所以我决定使用 SwiftyJSON 将 JSON 直接获取到正文,但是应用程序崩溃并提示 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__SwiftValue)

public var task: Task {
switch self {
case .postCheckout(let cart): return .requestParameters(parameters: ["cart": cart], encoding: JSONEncoding.default)
}
}

我的妈妈

func postCheckout(cart: JSON) -> Observable<BaseResponseModel> {

return provider.rx.request(.postCheckout(cart: cart))
.mapObject(BaseResponseModel.self)
.asObservable()
}

当我打印 JSON 时,这就是打印的内容

{
"total" : 6000,
"subscription" : {
"id" : 4,
"quantity" : 3
},
"vas" : [
4,
6,
2
]
}

最佳答案

通常我们发送JSON string而不是JSON object。制作JSON数据并使用utf-8编码将其转换为字符串对象。

但是 Moya 自己进行这种转换,因此在 ["cart": cart] 中,如果您将 cart 作为字典参数传递,那么它应该可以工作。

示例:

 .requestParameters(parameters: ["cart": ["total": 6000, "user": "me"]], encoding: JSONEncoding.default)

关于swift - 快速传递 JSON 作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56772596/

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