报错截图:
报错:
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时,数据定义的类型与获取的json数据类型不一致所导致的
我是使用 https://app.quicktype.io/ 这个网站把json数据结构转换成model代码的
为什么使用这个网站转换model代码会出现这种情况???
是因为某个字段大部分是等于 0 ,极小部分是3.1带小数点的,或者在这个字段第一次出现的时候是0,所以在转换的时候就会默认的转换成int类型,而不是float类型或者Double类型
比如:
model定义的是 int
a:int?
json数据中字段的数据类型是 float
a:3.1
那么你在数据解析的时候,就会报上面截图的错
解决办法:
在model中把该参数的数据类型改为 Double类型,就可以了
谢谢你的浏览!