Swift 中的数据类型需要与 JSON 数据中的数据类型匹配,否则将无法正确地进行解码。如果数据类型不匹配,则会进入到 catch 代码块,意味着解码失败。
let jsonStr = "{"age":16,"isGoodGrades":1,"name":"XiaoMing","height":160.5}"
复制代码
在上面的例子中,将 isGoodGrades 的值改为1,此时输出的错误内容为:
err typeMismatch(Swift.Bool, Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "isGoodGrades", intValue: nil)], debugDescription: "Expected to decode Bool but found a number instead.", underlyingError: nil))