使用OC开发时,JSON解析方法很多,如可以自己解析,也可以使用JsonModel,MJExtension等第三方,切换到Swift开发后,也还可以通过桥接的方式调用OC的,但这样会略显麻烦,Swift上也提供了直接进行json解析的方案,目前主流的有SwiftyJSON,ObjectMapper,HandyJson,以及swift 4上对JSON解析的原生支持。下面将一一介绍
一.SwiftyJSON
class Animal {
var name: String?
var age: Int?
}
func swiftyJson(){
let jsonStr = "{\"name\":\"哈士奇\",\"age\":2}"
if let jsonData = jsonStr.data(using: .utf8){
let json = JSON(jsonData)
let name = json["name"].stringValue
let age = json["age"].intValue
let animal = Animal()
animal.name = name
animal.age = age
print("swiftyJson: name: \(name),age: \(age)")
}
}
这种解析结构明确,模型转换需要手动编码
二.ObjectMapper