Json aninhado descodificado Swift 4 com atributos de chave aleatórios

Estou tendo problemas para decodificar json. Eu segui muitos tutoriais, mas não use estruturas json complexas. Por simplicidade, minimizei o código e usei Dog como exemplo.

Seguindo json, estou principalmente interessado apenas nas estruturas Dog.O atributo json "Data" contém nomes aleatórios de cães. Portanto, não posso usar chaves de codificação porque não sei o nome do atributo.

{
     "Response": "success"
     "BaseLinkUrl": "https://wwww.example.com",
     "Data": {
         "Max": {
             "name": "Max",
             "breed": "Labrador"
         },
         "Rocky": {
             "name": "Rocky",
             "breed": "Labrador"
         },
         ...
    }
}

Eu tenho as seguintes estruturas:

struct DogResponse : Decodable {
    let data : DogResponseData

    enum CodingKeys: String, CodingKey {
        case data = "Data"
    }
}

struct DogResponseData: Decodable {
    let dog: Dog //this is a random variable name

    enum CodingKeys: String, CodingKey {
        case dog = "??random_variable_dog_name??"
    }
}

struct Dog: Decodable {
    let name: String
    let type: String

    enum CodingKeys: String, CodingKey {
        case name
        case type = "breed"
    }
}

coletando as estruturas Dog:

let dogResponse = try JSONDecoder().decode(DogResponse.self, from: data)
print(dogResponse)

O que preciso fazer na minha estrutura "DogResponseData" para reconhecer rapidamente uma variável aleatória que contém minha estrutura Dog?

questionAnswers(1)

yourAnswerToTheQuestion