gpt4 book ai didi

ios - 以 NSDictionary 而不是 NSData 的形式接收响应

转载 作者:行者123 更新时间:2023-11-30 13:46:45 24 4
gpt4 key购买 nike

我试图从服务器获取响应作为 NSDictionary 而不是 NSData,所以首先我使用 AFNetworking 库,服务器请求这些设置HTTP 不是 JSON 序列化程序,如下所示:

self.responseSerializer = AFHTTPResponseSerializer() as AFHTTPResponseSerializer
self.requestSerializer = AFHTTPRequestSerializer() as AFHTTPRequestSerializer
self.requestSerializer.HTTPMethodsEncodingParametersInURI = NSSet(array: ["GET"]) as! Set<String>

self.responseSerializer.acceptableContentTypes = NSSet(objects: "application/json","text/json","text/javascript","text/html") as? Set<String>

下一步是当我从服务器收到响应时,它变成了 NSData ,因为我正在使用 AFHTTPRequestSerializer() ,这是我的代码:

self.POST(addUserURL, parameters: dictionary, progress: nil, success: { (task, responseObject) -> Void in


print(responseObject)


}) { (task, error) -> Void in


}

此外,在 AFNetworking block 内,不允许处理 NSJSONSerializtion 的 try 和 catch,这可能是一个可能的解决方案,但它不起作用。

最佳答案

使用NSJSONSerialization,如下代码所示:

do {
let jsonObject = try NSJSONSerialization.JSONObjectWithData(responseObject, options: .AllowFragments) as! NSDictionary
// use jsonObject here
} catch {
print("json error: \(error)")
}

关于ios - 以 NSDictionary 而不是 NSData 的形式接收响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34839942/

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