2019-11-13 swfit 报错:Swift.DecodingError.dataCorrupted

报错截图:

2122121.jpg

报错:

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类型,就可以了

谢谢你的浏览!

你可能感兴趣的:(2019-11-13 swfit 报错:Swift.DecodingError.dataCorrupted)