Decodificando uma matriz JSON de diferentes tipos no Swift

Estou tentando decodificar o seguinte objeto JSON

{
    "result":[
             {
             "rank":12,
             "user":{ 
                     "name":"bob","age":12 
                    } 
             }, 
             {
             "1":[ 
                  {
                    "name":"bob","age":12
                  },
                  {
                   "name":"tim","age":13
                  }, 
                  {
                   "name":"tony","age":12
                  }, 
                  {
                   "name":"greg","age":13
                  } 
                 ] 
            } 
           ] 
}

struct userObject {nome do var: String var age: Int}

Basicamente, uma matriz JSON com dois tipos de objetos diferentes

{ "rank":12, "user": {userObject} }

e um "1": matriz de[userObjects]

struct data: Decodable {
   rank: Int
   user: user
   1:    [user]  <-- this is one area Im stuck
}

desde já, obrigado

questionAnswers(3)

yourAnswerToTheQuestion