swiftyJson 错误句柄
Posted
技术标签:
【中文标题】swiftyJson 错误句柄【英文标题】:swiftyJson error handle 【发布时间】:2017-02-08 09:19:24 【问题描述】:我遇到了 SwiftyJson 的问题,我正在尝试检查我的 Json 中是否有任何包含“拒绝访问”的值并打印它,但它没有检查,我的代码有什么问题?
我得到的 JSON 响应是:
错误 = 代码=“-32002”; message = "访问被拒绝"; ; 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"]
包含一个字典
。数组由[]
表示
【参考方案1】:
json["error"]
是 Dictionary
而不是 Array
,您需要访问该字典中的 message
值。
if let message = json["error"]["message"].string, message == "Access denied"
print("Access denied")
【讨论】:
谢谢,这正是我需要的! @EgleMatutyte 欢迎朋友 :)【参考方案2】:这样试试,
if let message = json["error"]["message"].rawString(), message == "Access denied"
print(message)
【讨论】:
以上是关于swiftyJson 错误句柄的主要内容,如果未能解决你的问题,请参考以下文章
为啥调用 GetThreadTimes 时出现“句柄无效”错误?
关闭 websocket 时出现 SignalR 错误 - 句柄无效