安卓開發(fā)中有g(shù)son,寫好數(shù)據(jù)結(jié)構(gòu)后可以一鍵解析數(shù)據(jù),但是swiftUI中,大多數(shù)情況我都是使用SwiftyJSON去解析數(shù)據(jù),少量的還行,數(shù)據(jù)量龐大的時(shí)候?qū)懙拇a真的丑到極致
首先寫一個(gè)model用來解析數(shù)據(jù)結(jié)構(gòu),每個(gè)class都要繼承HandyJSON,并且如果在你要顯示在頁面的class對(duì)象后要繼承Identifiable,如下
class BodyTod:HandyJSON,Identifiable{
var id = UUID()
var currentTime:String?
var total:Int?
var itemList = [OrderDetail]()
required init() {}//必寫
}
class OrderDetail:HandyJSON,Identifiable{
var id: String?
/**
* 訂單編號(hào)
*/
var code : String?
/**
* 成交時(shí)間
*/
var paymentTime :String?
/**
* 支付方式(wechat,alipay)
*/
var paymentType:String?
}
Identifiable不繼承的話,在swiftUI中是無法在foreach中使用的,會(huì)報(bào)錯(cuò),在你獲取到后端返回?cái)?shù)據(jù)后
if let object = OrderDetailsResponse.deserialize(from: json) //json 是后端返回?cái)?shù)據(jù) data類型
object就是我們想要的值,這時(shí)候可以像獲取什么就拿什么就好了