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番目のデータがおかしいことがわかる。以上です。