美文网首页Swift编程Swfit
2019-11-13 swfit 报错:Swift.Decodi

2019-11-13 swfit 报错:Swift.Decodi

作者: 我常常问自己我是谁 | 来源:发表于2019-11-13 16:01 被阅读0次

    报错截图:

    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.Decodi

        本文链接:https://www.haomeiwen.com/subject/uxzhictx.html