我想實現Swift 4的新的可解碼協議,並有一些難以接近它。使用Swift 4的可解碼協議嵌套JSON服務器響應
這是我的JSON服務器響應:
{
"success": true,
"errorCode": 0,
"message": "Succcess",
"data": {
"name": "Logan Howlett",
"nickname": "The Wolverine",
"image": "http://heroapps.co.il/employee-tests/ios/logan.jpg",
"dateOfBirth": 1880,
"powers": [
"Adamantium Bones",
"Self-Healing",
"Adamantium Claws"
],
"actorName": "Hugh Jackman",
"movies": [
{
"name": "X-Men Origins: Wolverine",
"year": 2009
},
{
"name": "The Wolverine",
"year": 2013
},
{
"name": "X-Men: Days of Future Past",
"year": 2014
},
{
"name": "Logan",
"year": 2017
},
]
}
}
什麼是解碼響應data
部分的最佳方法? 另外,如果data
突然變爲array
而不是對象會發生什麼情況,我如何支持這兩種數據類型?
感謝很多:)
'另外,如果數據突然變成一個數組而不是一個對象會發生什麼,我該如何支持這兩種數據類型? - 使用enum關聯你的類型值?一個用'array',另一個用'dictionary'。 – user28434
您應該閱讀Codable文檔中的[Encoding and Decoding Custom Types](編碼和解碼自定義類型)(https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types),以瞭解如何編寫鏡像JSON表示的類型。大多數情況下,這涉及編寫類型並符合Codable,其餘部分應該爲您完成。 –