Ваш ClassB имеет это:
var ageInfo: ClassA?
Но это не поможет вам с этим JSON:
"ageInfo": {}
Проблема в том, что ageInfo
есть присутствует , но это также пустой словарь. Таким образом, является ClassA, но это не соответствует вашему определению ClassA!
Изменение
class ClassA: Codable {
var age: Int = 1
}
до
class ClassA: Codable {
var age: Int? = 1
}