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)
}