2016-04-17 10 views
0

私はオンラインでリクエストを作成しています。私はAlamofireとswiftyJSONを使用してURLからデータを取得していますが、リンクが無限に戻っていると言ってクラッシュし続けます。それは、提供されたリンクが最後に.jsonでないからですか? (私が追加したリンクは偽物ですが、実際のものを追加することはできませんが、構造は同じです)。URLからJSONを取得するために、AlamofireとSwiftyJSONを使用しているときに、リンクがnilを返してクラッシュする

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) 
      } 
     } 

リンクはちょうどこのデータを持っている:

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

私は私をunexpectedly found nil while unwrapping an Optional value言っAlamofire.request(.GET, URL).validate().responseJSON { response inでクラッシュを取得します。私は複数のフォーマッターとバリデーターを使ってJSONをチェックしましたが、それはすべて成功しているので、問題はありません。

UPDATE: 私はちょうど別のリンク(http://refine.taxonomics.org/gbifchecklists/reconcile?query=Crepidomanes%20minutum)を使用して、この仕事をし...私はそれが可能だかわからないが、それは、サーバー側に関連する何かすることができますか?

答えて

0

は、このようなスイッチsatementを交換してください:

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

は、それを試してみましたアプリはすでに 'Alamofire.request(.GET、URL).validate()。responseJSON'でクラッシュし、'致命的なエラー:予期せぬことにオプション値をアンラッピングしている間に見つかりませんでした ' – SoundShock

0

たぶん、あなたはあなたのURLRequestが、これらのラインの一つでJSON形式の答えを期待して適切に設定されていることを確認する必要があります

mutableURLRequest.setValue("application/json", forHTTPHeaderField: "Content-Type") 
mutableURLRequest.setValue("application/json", forHTTPHeaderField: "Accept") 
関連する問題