swift codableのデバッグ

型や項目の必須、任意が正しくないと1件もヒットしなくなってしまうのでエラー時のデバックプリントはたぶん必須

Swift

        let data = """
[{
    "id": 1,
    "name": "USER1",
},{
    "id": 2,
    "namexxx": "USER2",
}]
""".data(using: .utf8)!

        struct User: Codable {
            var id: Int
            var name: String
        }

        do {
            let users = try JSONDecoder().decode([User].self, from: data)
            dump(users)
        } catch {
            print(error)
        }
    }

コンソール

keyNotFound(CodingKeys(stringValue: "name", intValue: nil), Swift.DecodingError.Context(codingPath: [_JSONKey(stringValue: "Index 1", intValue: 1)], debugDescription: "No value associated with key CodingKeys(stringValue: \"name\", intVal\
ue: nil) (\"name\").", underlyingError: nil))

の結果より、Index = 1がkeyNotFoundとなっているので2番目のデータがおかしいことがわかる。以上です。