【发布时间】:2016-12-10 13:09:33
【问题描述】:
当我尝试将 Json String 转换为 Dictionary 时,它给了我致命的错误:在展开 Optional 值时意外发现 nil。
self.res = Jsn.convertStringToDictionary(self.sub)!
sub = [{"CityId":6,"CityName":"Ankara"},{"CityId":34,"CityName":"İstanbul"}]
而函数是:
func convertStringToDictionary(text: String) -> [String:AnyObject]? {
if let data = text.dataUsingEncoding(NSUTF8StringEncoding) {
do {
return try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions()) as? [String:AnyObject]
} catch {
print(error)
}
}
return nil
}
你能帮我解决这个问题吗?先感谢您!
【问题讨论】:
-
显示来自服务器的实际响应。
-
函数来自stackoverflow.com/a/30480777/2227743,命名为
convertStringToDictionary。您的 JSON 是一个 array 字典... -
另外,这个函数返回一个可选的for a reason。如果您在调用方强制解包结果而不是处理 Optional,那么您的应用当然会崩溃。
-
@EricAya 我是新来的 swift 谢谢你的回答。