2017-05-31 9 views
0

Ich verbinde mich mit meinem Server auf localhost, um einige Daten zu holen. Die zurückgegebenen Daten auf diese Anforderung ist ein JSON, auf Postman die JSON korrekt angezeigt wird, aber wenn ich mit iOS ich spiele, Alamofire gibt mir eine Fehlermeldung:
Alamofire Müll am Ende Fehler beim Analysieren von JSON

responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Garbage at end." UserInfo={NSDebugDescription=Garbage at end.}))


Die JSON in Frage :

{ 
    "name": "TestName", 
    "surname": "TestSurname" 
} 

die Sache, die ich nicht verstehe, ist, dass, wenn ich gezwungen mein Server die json in Form einer Schnur so etwas wie

"{"name": "TestName after update","surname": "TestSurname"}" 
zurückzukehren

Alamofire beschwert sich nicht und analysiert es nicht korrekt. Wie ist das? Ich dachte, dass die Angabe des Parameters responseJSON andersherum funktioniert hätte.

Alamofire.request("http://192.168.1.4:8080/user/abcdf").validate().responseJSON { response in 
      switch response.result { 
      case .success: 
       // DO stuff 

      case .failure(let error): 
       print(error) 
      } 
     } 
+0

Ich habe gerade überprüft die JSON durch einen json-Server erstellen und es funktionierte gut –

+0

aber ich hinzugefügt, um die JSON in ein Objekt, wie folgt aus: [ { Name: „Testname“, Nachname: „TestSurname“ } ] –

+0

So wahrscheinlich es ist die Art und Weise der JSON erzeugt wird, wird in es – r4id4

Antwort

0

Ich glaube, Sie brauchen, um die Daten zu erhalten, so dass Sie es so geschrieben haben, sollte ich nicht sicher bin, obwohl

Alamofire.request("http://192.168.1.4:8080/user/abcdf",method:.get).responseJSON { 
     response in 
     if response.result.isSuccess { 
      //do stuff 

     } 
     else { 

      // do other stuff 
     } 
    } 
Verwandte Themen