2016-04-17 7 views
0

zu bekommen Ich bin neu, um Anfragen online zu stellen. Ich benutze Alamofire und swiftyJSON, um die Daten von einer URL zurück zu bekommen, aber es stürzt weiter ab und sagt, der Link gibt null zurück. Liegt es daran, dass der angegebene Link am Ende nicht .json ist? (Btw der Link, den ich hinzugefügt habe, ist falsch, kann den echten nicht hinzufügen, aber die Struktur ist die selbe).Link gibt NULL zurück und stürzt meine App ab, wenn ich Alamofire und SwiftyJSON verwende, um JSON von URL

let URL = "https://www.thisurlisntreal.com/api/folder?key="12345FGhbfdgn3456fgdnf2345redfs?56" 
     Alamofire.request(.GET, URL).validate().responseJSON { response in 
      switch response.result { 
      case .Success: 
       if let value = response.result.value { 
        let json = JSON(value) 
        print("JSON: \(json)") 
       } 
      case .Failure(let error): 
       print(error) 
      } 
     } 

Der Link hat nur diese Daten:

{"results":[{"id":1,"fromDate":"2015-03-18","toDate":"2016-04-23","url":"blabliebloe","producer":{"id":1,"name":"theproducer"}}]} 

ich einen Absturz bei Alamofire.request(.GET, URL).validate().responseJSON { response in mir zu sagen unexpectedly found nil while unwrapping an Optional value. Ich habe den JSON mit mehreren Formatierern und Validatoren überprüft und es ist alles erfolgreich, also ist das nicht das Problem.

UPDATE: Ich habe gerade einen anderen Link (http://refine.taxonomics.org/gbifchecklists/reconcile?query=Crepidomanes%20minutum) und diese Arbeit ist ... Ich weiß nicht, wie es möglich ist, aber es kann etwas serverseitige Zusammenhang sein?

Antwort

0

Versuchen Sie, den Schalter satement wie folgt zu ersetzen:

switch response.result { 
       case .Success(let data): 
        let json = JSON(data) 
       case .Failure(let error): 
        print(error.localizedDescription()) 
       } 
+0

es versucht, aber die App stürzt bereits bei 'Alamofire.request (.GET, URL) .validate(). responseJSON' ab und sagt' fataler Fehler: unerwartet wurde nil beim Auspacken eines optionalen Wertes gefunden' – SoundShock

0

Vielleicht sollten Sie überprüfen, ob Ihr URLRequest richtig eine Json Antwort mit einem dieser Zeilen zu erwarten gesetzt:

mutableURLRequest.setValue("application/json", forHTTPHeaderField: "Content-Type") 
mutableURLRequest.setValue("application/json", forHTTPHeaderField: "Accept")