2014-09-02 41 views
0

我試圖用這個雨燕代碼訪問的Flickr API,而我打印jsonData變量,它打印在二進制格式的數據的時間(SWIFT)無Accesing HTTPS JSON API返回的每個

var error = NSError() 
var api_url = NSURL.URLWithString("https://api.flickr.com/services/rest/?&method=flickr.photos.search&tags=car&api_key=xxxxxxxxxxxxx&format=json") 
let jsonData: NSData = NSData.dataWithContentsOfURL(api_url, options: nil, error: nil) 
let result:NSDictionary = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: nil) as NSDictionary 
return result 

但我應用程序崩潰結果變量致命錯誤:意外地發現零,同時展開一個可選值幫助!非常感激。

+0

如果dataWithContentsOfURL失敗,它將返回nil。如果您確定數據爲零,我會首先嚐試使用您擁有的錯誤對象,並查看是否有任何錯誤。 – Mike 2014-09-02 18:55:56

+0

但錯誤來自結果變量,而不是從jsonData變量,來仔細檢查我打印的jsonData,它不是空的。 – Mahi008 2014-09-02 19:23:55

+0

那麼如何使用NSJSONSerialization的錯誤對象?看起來你有這個錯誤對象,但沒有用它來做任何事情......把這個東西用上! :) – Mike 2014-09-02 21:49:12

回答

0

這是Flickr API的默認行爲。 JSON響應帶有回調函數包裝器。

要禁用它,請在網址的末尾添加&nojsoncallback=1

官方文檔: https://www.flickr.com/services/api/response.json.html

由於原始JSON是包裹着功能的包裝,你NSJSONSerialization將返回零。

+0

謝謝,它現在正在工作.. – Mahi008 2014-09-03 09:13:07