2016-05-04 17 views
3

Hallo, ich benutze Alamofire, aber ich bekomme "Invalid JSON." Gelöst es in der Antwort und ich habe folgende Code-Ungültige Antwort erhalten Alamofire

parametersV = ["username":[email protected], "password":123456] 
let headers = ["Content-Type": "application/json", "x-csrf-token":""] 

Alamofire.request(.POST, "https://dev.staffingevolution.com/api/user/login", parameters: parametersV, headers: headers).responseJSON { response in 
    print(response.request) // original URL request 
    print(response.response) // URL response 
    print(response.data)  // server data 
    print(response.result) // result of response serialization 

    if let JSON = response.result.value { 
    print("JSON: \(JSON)") 
    } 
} 
+0

Sie drucken möchten, welche Art von Daten, die Sie bekommen? –

+0

print ("JSON: \ (JSON)") JSON: ( "Ungültig JSON" ) –

+0

können Sie es bitte versuchen i zeigen, haben Sie die volle Code mit den Parametern –

Antwort

2

I

 let parametersV = ["username":"[email protected]", "password":"123456"] 

     Alamofire.request(.POST, "https://dev.staffingevolution.com/api/user/login", parameters: parametersV, encoding: .JSON) 
      .responseJSON { response in 

       if let JSON = response.result.value { 
        print("JSON: \(JSON)") 
       } 

     } 

Es war ein Problem wurde kodiert, das Sie nicht kodiert Ihre JSON-Anforderung verwendet. verwenden Codierung: JSON

+1

Vielen Dank! –

0

Einige Zeiten, in denen in Antwort gibt es nicht die richtige JSON dann Stück Code .responseJSON { response in wirft Ausnahme, und wir können nicht sehen, welche Art von Antwort empfangen wurde. in einem solchen Fall können wir es vor der Konvertierung zu .responseJSON { response in Im Folgenden auf die Konsole gedruckt ist voll Beispiel

public func deleteImage(_ photoId: Int) { 

    let requestURL = URL(string: APPURL.BASE_API_URL + "postApi/deletePostPhoto")! 
    let paramDict: [String: String] = ["photoId": String(photoId), "accessKey": APP_DELEGATE.loggedInUser.accessKey, "language":APP_DELEGATE.language.lowercased()] 


    Alamofire.upload(
     multipartFormData: { multipartFormData in 
      for (key, value) in paramDict { 
       multipartFormData.append(value.data(using: .utf8)!, withName: key) 
      } 
    }, 
     usingThreshold:UInt64.init(), 
     to: requestURL , 
     method:.post, 
     headers:nil, 
     encodingCompletion: { encodingResult in 

      switch encodingResult { 
      case .success(let upload, _, _): 

       // this is point where we can get actual response recieved from server, it may have some html , xml or anything 

       upload.responseData(completionHandler: { response in 

        print(response) 
        let responseData = String(data: response.data!, encoding: String.Encoding.utf8) 
        print("responseData=",responseData ?? "none") 
       }) 

       // if there is proper JSON recieved it will be executed otherwise it will fall in failure 
       upload.responseJSON { response in 

        if((response.result.value) != nil) { 

         let swiftyJsonVar = JSON(response.result.value!) 
         print("response JSON: ",swiftyJsonVar) 


        } 
        else { 

         let error = response.error 
         print(error?.localizedDescription ?? "") 

        } 

       } 

      case .failure(let encodingError): 

       print(encodingError.localizedDescription) 

      } 
    }) 

} 
Verwandte Themen