報錯截圖:
報錯:
Swift.DecodingError.dataCorrupted(Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "aweme_list", intValue: nil), _JSONKey(stringValue: "Index 3", intValue: 3), CodingKeys(stringValue: "music", intValue: nil), CodingKeys(stringValue: "preview_start_time", intValue: nil)], debugDescription: "Parsed JSON number <34.7> does not fit in Int.", underlyingError: nil))
這種錯誤是因為在寫model時,數(shù)據(jù)定義的類型與獲取的json數(shù)據(jù)類型不一致所導(dǎo)致的
我是使用 https://app.quicktype.io/ 這個網(wǎng)站把json數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換成model代碼的
為什么使用這個網(wǎng)站轉(zhuǎn)換model代碼會出現(xiàn)這種情況?急但??
是因為某個字段大部分是等于 0 柠辞,極小部分是3.1帶小數(shù)點的,或者在這個字段第一次出現(xiàn)的時候是0,所以在轉(zhuǎn)換的時候就會默認的轉(zhuǎn)換成int類型嗅蔬,而不是float類型或者Double類型
比如:
model定義的是 int
a:int歌亲?
json數(shù)據(jù)中字段的數(shù)據(jù)類型是 float
a:3.1
那么你在數(shù)據(jù)解析的時候菇用,就會報上面截圖的錯
解決辦法:
在model中把該參數(shù)的數(shù)據(jù)類型改為 Double類型,就可以了
謝謝你的瀏覽陷揪!