gpt4 book ai didi

ios - 无法使用 NSJSONSerialization 将数字转换为 JSON 值

转载 作者:行者123 更新时间:2023-11-28 13:18:04 25 4
gpt4 key购买 nike

我需要使用 AFNetworking 向服务器发送一个 JSON 数字值,我是这样做的:

let url:Int = "my_url_here"
let param = myNumber

let task = self.sessionManager.POST(url, param, success:mySuccessBlock, failure:myFailureBlock)

出现异常:

'NSInvalidArgumentException', reason: '*** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'

设置异常断点后,代码停止在[mutableRequest setHTTPBody...]:

#pragma mark - AFURLRequestSerialization
- (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request
withParameters:(id)parameters
error:(NSError *__autoreleasing *)error
{
......
**[mutableRequest setHTTPBody:[NSJSONSerialization dataWithJSONObject:parameters options:self.writingOptions error:error]];**
......
}

所以 [NSJSONSerialization dataWithJSONObject:options:error:] 不能用于将 Int/NSNumber 转换为 JSON?我该怎么办?

最佳答案

最低限度的有效 JSON 是 {}[]。您需要将数字包装在对象或数组中。

例如,尝试 let param = [myNumber]let param = ["number": myNumber]

您可以使用类似 JSONLint 的工具验证您的 JSON。

关于ios - 无法使用 NSJSONSerialization 将数字转换为 JSON 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111699/

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