Como decodificar uma estrutura JSON aninhada com o protocolo Swift Decodable?

Aqui está o meu JSON

{
    "id": 1,
    "user": {
        "user_name": "Tester",
        "real_info": {
            "full_name":"Jon Doe"
        }
    },
    "reviews_count": [
        {
            "count": 4
        }
    ]
}

Aqui está a estrutura na qual eu quero que ela seja salva (incompleta)

struct ServerResponse: Decodable {
    var id: String
    var username: String
    var fullName: String
    var reviewCount: Int

    enum CodingKeys: String, CodingKey {
       case id, 
       // How do i get nested values?
    }
}

Eu olheiDocumentação da Apple na decodificação de estruturas aninhadas, mas ainda não entendo como executar os diferentes níveis do JSON corretamente. Qualquer ajuda será muito apreciada.

questionAnswers(3)

yourAnswerToTheQuestion