我在我的Swift应用程序中使用AFNetworking。我使用POST
发出AFHTTPRequestSerializer
请求并使用AFHTTPResponseSerializer
接收响应。 HTTP状态代码为200,我得到了成功的响应。
但是,我无法解析布尔响应。在Postman上,响应以布尔值(无论是真还是假)形式出现,但我无法在代码中识别响应对象类型。请参阅显示响应对象的附图。
对邮递员的回应
尝试解析它如下,但IF
条件不满足。
if let isSuccess = response as? Bool {
print(isSuccess)
}
服务器发送'true'或'false'作为JSON,它本质上是无效的JSON。从此以后,如果我尝试使用AFJSONResponseSerializer
,它会出错,因为返回的JSON格式不正确。
所以我不得不使用AFHTTPResponseSerializer
作为Data
返回响应。然后我将这个Data
转换为String
以检索“真实”或“假”文本。
if let isSuccessData = response as? Data {
if let isSuccessText = String(data: isSuccessData, encoding: .utf8) {
print(isSuccessText)
}
}
看起来你的response
对象是Any?
类型。也许尝试以安全的方式将其作为布尔值进行投射:
if let response = response as? Bool {
// Do something with the response
}
在if语句中放置一个断点,以便更容易查看是否满足条件。