2015-04-16 57 views
0

我得到{「result」:「0」}字符串。存在的問題是,我的序列化功能不能序列化無法序列化JSON swift

var err: NSError? 
      var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &err) as NSDictionary 



if(err != nil) { 
       println(err!.localizedDescription) 
       let jsonStr = NSString(data: data, encoding: NSUTF8StringEncoding) 
       println("Error could not parse JSON: '\(jsonStr)'") 
      } 

我越來越對控制檯的回答: 體:可選({「結果」:「0」})

錯誤無法解析JSON:可選({「result」:「0」})

我的函數能夠序列化它嗎?

回答

0

這是因爲你的變量'data'是可選的類型。你必須解開它。或使用!標誌。但後者是有風險的,因爲它可能也沒有,應用程序將崩潰。所以這樣做

if let dat = data 
{ 
var err: NSError? 
      var json = NSJSONSerialization.JSONObjectWithData(dat, options: .MutableLeaves, error: &err) as NSDictionary 
} 
+0

iOS 9/Swift 2已棄用 – SpaceDog