Swift3 使用Alamofire和SwiftyJSON解析从服务器返回的数据,返回的数据类型是什么?

Swift3 使用Alamofire和SwiftyJSON解析从服务器返回的数据,返回的数据类型是什么?,swift3,alamofire,swifty-json,Swift3,Alamofire,Swifty Json,我希望我能正确地问这个问题: 我使用Alamofire和SwiftyJSON来管理从服务器获取的JSON文件。 我在理解response.result.value的类型、如何将其强制转换为对象方面存在问题,我可以使用SwiftyJSON的JSON(数据:数据)构造函数来构造它。 这是我使用Alamofire请求的代码: func performRequest() { // parameters["retry_count"] = retryNum if let _ =

我希望我能正确地问这个问题: 我使用Alamofire和SwiftyJSON来管理从服务器获取的JSON文件。 我在理解
response.result.value
的类型、如何将其强制转换为对象方面存在问题,我可以使用SwiftyJSON的
JSON(数据:数据)
构造函数来构造它。 这是我使用Alamofire请求的代码:

func performRequest() {
    //        parameters["retry_count"] = retryNum
    if let _ = host, let path = path {

        let request = Alamofire.request(HOST + path, method: method, parameters: parameters, headers: headers)
        request.responseJSON { response in

            print("-----")
            print(response.response?.statusCode)
            print("-----")

            // check if responseJSON already has an error
            // e.g., no network connection
            if let json = response.result.value {

                print("--------")
                print(json)
                print("--------")
            }
            guard response.result.error == nil else {
                print(response.result.error?.localizedDescription ?? "Response Error")
                self.completionHandler?(response.result.isSuccess, nil)
                self.retryRequest()
                return
            }

                // make sure we got JSON and it's a dictionary
            guard let json = response.result.value as? [String: AnyObject] else {
                print("didn't get dictionary object as JSON from API")
                self.completionHandler?(response.result.isSuccess, nil)
                self.retryRequest()
                return
            }

            // make sure status code is 200
            guard response.response?.statusCode == 200 else {
                // handle status code

                self.completionHandler?(response.result.isSuccess, nil)
                return
            }

            self.completionHandler?(response.result.isSuccess, json)
            RequestsQueue.sharedInstance.sema.signal()

        }
    }
此打印结果如下:

{
numOfShiftsInDay = 3;
shifts =     (
            {
        endTime = "14:00";
        startTime = "07:30";
    },
            {
        endTime = "20:00";
        startTime = "13:30";
    },
            {
        endTime = "02:00";
        startTime = "19:30";
    }
);
}

此数据类型是
[字符串:AnyObject]

我想用它来构造一个SwiftyJSON对象,因为使用SwiftyJSON方法解析数据更容易

这是我试图解析它然后使用它的代码,但显然它不起作用:

            let json = JSON(data: data)
我发现这个编译错误:

 Cannot convert value of type '[String : AnyObject]?' to expected argument type 'Data'

那么我应该怎么做呢?

您需要使用
JSON(数据)
而不是
JSON(数据:数据)
,因为这
init(数据:)
需要
data
作为参数

更改行

let json = JSON(data: data)

let json = JSON(data)

作品这有多简单