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