一卿嘲、Data轉(zhuǎn)JSON對(duì)象:
1吭敢、原生:
guard let json = try? JSONSerialization.jsonObject(with: response.data, options: []) else {
return
}
2崇堵、SwiftyJSON:(GitHub地址):
do {
// data轉(zhuǎn)化為JSON
let jsonData = try JSON(data: response.data)
print(jsonData)
} catch {
failClosure("解析失敗")
}
二涤姊、JSON對(duì)象轉(zhuǎn)Data:
let data = try? JSONSerialization.data(withJSONObject: json, options: [])
三究反、Data轉(zhuǎn)JSON字符串:
1侨赡、原生:
let jsonStr = String(data: response.data, encoding: String.Encoding.utf8)
2冷蚂、SwiftyJSON:
let jsonStr = JSON(response.data).description
四覆旱、JSON字符串轉(zhuǎn)Data:
let data = jsonStr?.data(using: String.Encoding.utf8, allowLossyConversion: false)
五骇塘、JSON字符串轉(zhuǎn)JSON對(duì)象:
JSON字符串 ----> Data ----> JSON對(duì)象
上述有寫到try和try? 伊履,下面簡(jiǎn)單說(shuō)明一下:
1、try 標(biāo)準(zhǔn)異常處理方式款违,需要結(jié)合do catch唐瀑;
2、try? 表示語(yǔ)句可能發(fā)生錯(cuò)誤插爹,也可能沒有錯(cuò)誤哄辣,如果發(fā)生錯(cuò)誤,則返回nil赠尾,如果沒有錯(cuò)誤力穗,會(huì)返回一個(gè)可選值;
3气嫁、try! 表示該語(yǔ)句一定沒有錯(cuò)誤当窗,如果發(fā)生錯(cuò)誤,則崩潰處理杉编,一般不建議使用超全。