我将sessionManager.request
与.validate().responseJSON
是否可以修改从服务器获取的响应,然后再将其传递给responseJSON
?在解析之前我需要做一些字符串。
答案 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)!)
}
希望这有帮助