import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let jsonString = "{\"name\":\"zhang\"}";
let data = jsonString.data(using: .utf8);
// 反序列化 throw 抛出异常
// 方法一:推荐 try? 如果解析成功就有值,否则为 nil
let json = try? JSONSerialization.jsonObject(with: data!, options: []);
print(json);
// 方法二:不推荐 try! 如果解析成功就有值,否则崩溃
let json2 = try! JSONSerialization.jsonObject(with: data!, options: []);
print(json2);
// 方法三:处理异常,能够接收到错误,并且输出。但是,语法结构复杂。
// 扩展:OC中 有 try catch,ARC开发编译器自动添加release/retain,如果用try catch如果不平衡就处出现内存泄漏
do {
let json3 = try JSONSerialization.jsonObject(with: data!, options: []);
print(json3);
} catch {
print(error);
}
}
}
Swift3.0 -- 错误处理 try
最新推荐文章于 2024-08-24 07:48:35 发布