swiftyJson 错误句柄
swiftyJson error handle
我在使用 SwiftyJson 时遇到问题,我正在尝试检查我的 Json 中是否有包含 "Access denied" 的任何值并打印它,但它没有检查,这是什么我的代码有问题吗?
Json 我得到的响应是:
{
error = {
code = "-32002";
message = "Access denied";
};
id = 1;
jsonrpc = "2.0"; }
请求方式:
private func makeWebServiceCall (urlAddress: String, requestMethod: HTTPMethod, params:[String:Any], completion: @escaping (_ JSON : Any) -> ()) {
manager.session.configuration.timeoutIntervalForRequest = 1
manager.request(urlAddress, method: requestMethod, parameters: params, encoding: JSONEncoding.default).responseJSON{ response in
print(response.timeline)
switch response.result {
case .success(let value):
let json = JSON(value)
if (json["error"].arrayValue.contains("Access denied")) {
print("Access denied")
}
if let jsonData = response.result.value {
completion(jsonData)
}
case .failure(let error):
completion("Failure Response: \(error)")
}
json["error"]
是 Dictionary
而不是 Array
并且您需要从该字典访问 message
值。
if let message = json["error"]["message"].string, message == "Access denied" {
print("Access denied")
}
这样试试,
if let message = json["error"]["message"].rawString(), message == "Access denied" {
print(message)
}
我在使用 SwiftyJson 时遇到问题,我正在尝试检查我的 Json 中是否有包含 "Access denied" 的任何值并打印它,但它没有检查,这是什么我的代码有问题吗?
Json 我得到的响应是:
{ error = { code = "-32002"; message = "Access denied"; }; id = 1; jsonrpc = "2.0"; }
请求方式:
private func makeWebServiceCall (urlAddress: String, requestMethod: HTTPMethod, params:[String:Any], completion: @escaping (_ JSON : Any) -> ()) {
manager.session.configuration.timeoutIntervalForRequest = 1
manager.request(urlAddress, method: requestMethod, parameters: params, encoding: JSONEncoding.default).responseJSON{ response in
print(response.timeline)
switch response.result {
case .success(let value):
let json = JSON(value)
if (json["error"].arrayValue.contains("Access denied")) {
print("Access denied")
}
if let jsonData = response.result.value {
completion(jsonData)
}
case .failure(let error):
completion("Failure Response: \(error)")
}
json["error"]
是 Dictionary
而不是 Array
并且您需要从该字典访问 message
值。
if let message = json["error"]["message"].string, message == "Access denied" {
print("Access denied")
}
这样试试,
if let message = json["error"]["message"].rawString(), message == "Access denied" {
print(message)
}