Alamofire - 在responseJSON之前预先响应

时间:2017-07-30 12:16:09

标签: ios alamofire

我将sessionManager.request.validate().responseJSON

一起使用

是否可以修改从服务器获取的响应,然后再将其传递给responseJSON?在解析之前我需要做一些字符串。

1 个答案:

答案 0 :(得分:1)

您可以将回复设为Data并将其转换为String,处理后再将其转换为JSON,这就是我知道如果有人有更好的方式请发布

这是一个示例代码,我想你可以用这个

来理解
    let request = Alamofire.request(CustomizationManager.sharedInstance.getRequestUrlWithParameters(startDate: tupleDate.0, endDate: tupleDate.1), method: .get/*, parameters: CustomizationManager.sharedInstance.getDefaultParameters(), encoding: URLEncoding.queryString*/, headers: CustomizationManager.sharedInstance.getHeadersDict()).responseData { (response) in

        if(response.result.isSuccess){
            if(response.data != nil)
            {
                let string = String(data: response.data!, encoding: .utf8)
                let JSONResponse = CustomizationManager.sharedInstance.cleanStringAndConvertToJSON(dirtyString: string!)

            }
        }else{

        }


    }

    debugPrint(request.description)

这是我的cleanStringAndConvertToJSON

   func cleanStringAndConvertToJSON(dirtyString:String) ->SwiftyJSON.JSON
    {
        var cleanStr = dirtyString.replacingOccurrences(of: "callback=\(self.defaultParameters["callback"]!)(", with: "")
        cleanStr = cleanStr.replacingOccurrences(of: ");", with: "")
        return SwiftyJSON.JSON(data: cleanStr.data(using: .utf8)!)
    } 

希望这有帮助