正文
SwiftyJSON
确实很好用 不会因为取了某个空对象的值而导致程序的崩溃
但是 一直这样data["a"]["b"]["c"].stringValue
的形式也不太好
那怎样把JSON转换成对象呢
假如JSON
的数据是这样子的 怎样转成对象呢
1 | { |
协议
我们可以定义一个协议 让对象实现它
1 | import Foundation |
对象转换
然后在定义两个对象
Result对象
1 | import Foundation |
User对象
1 | import Foundation |
这样假如我们得到的SwiftyJSON
的JSON
为swiftyJSON
我们就可以这样转
1 | let result = ZJResult_S<ZJUser_S>(jsonData: swiftyJSON); |
对象数组转换
那如果我们得到的数据是数组呢 该怎样设置对象呢
如JSON
的数据是这样子的
1 | { |
这样的话 我们只需把Result
对象改成这样就行了
Result对象
1 | import Foundation |
是不是很简单
也就是 假如swiftyJSON
是User
的数组
1 | let users = swiftyJSON.arrayValue.flatMap { ZJUser_S(jsonData: $0) } |