I have this input JSON:
[
{
"id": "08201",
"nome": "Região Metropolitana de Piracicaba",
"UF": {
"id": 35,
"sigla": "SP",
"nome": "São Paulo",
"regiao": {
"id": 3,
"sigla": "SE",
"nome": "Sudeste"
}
},
"sub-regioes-metropolitanas": [],
"municipios": [
{
"id": 3500600,
"nome": "Águas de São Pedro"
},
{
"id": 3502002,
"nome": "Analândia"
},
{
"id": 3503307,
"nome": "Araras"
},
{
"id": 3510401,
"nome": "Capivari"
},
{
"id": 3511706,
"nome": "Charqueada"
},
{
"id": 3512209,
"nome": "Conchal"
},
{
"id": 3512407,
"nome": "Cordeirópolis"
},
{
"id": 3512704,
"nome": "Corumbataí"
},
{
"id": 3514908,
"nome": "Elias Fausto"
},
{
"id": 3521101,
"nome": "Ipeúna"
},
{
"id": 3521408,
"nome": "Iracemápolis"
},
{
"id": 3526704,
"nome": "Leme"
},
{
"id": 3526902,
"nome": "Limeira"
},
{
"id": 3530904,
"nome": "Mombuca"
},
{
"id": 3538709,
"nome": "Piracicaba"
},
{
"id": 3539301,
"nome": "Pirassununga"
},
{
"id": 3542107,
"nome": "Rafard"
},
{
"id": 3543907,
"nome": "Rio Claro"
},
{
"id": 3544004,
"nome": "Rio das Pedras"
},
{
"id": 3545159,
"nome": "Saltinho"
},
{
"id": 3546207,
"nome": "Santa Cruz da Conceição"
},
{
"id": 3546702,
"nome": "Santa Gertrudes"
},
{
"id": 3547007,
"nome": "Santa Maria da Serra"
},
{
"id": 3550407,
"nome": "São Pedro"
}
]
},
{
"id": "05301",
"nome": "Região Metropolitana de Sorocaba",
"UF": {
"id": 35,
"sigla": "SP",
"nome": "São Paulo",
"regiao": {
"id": 3,
"sigla": "SE",
"nome": "Sudeste"
}
},
"sub-regioes-metropolitanas": [
{
"id": "0530101",
"nome": "Sub-região 1",
"municipios": [
{
"id": 3500758,
"nome": "Alambari"
},
{
"id": 3507001,
"nome": "Boituva"
},
{
"id": 3510302,
"nome": "Capela do Alto"
},
{
"id": 3511508,
"nome": "Cerquilho"
},
{
"id": 3511607,
"nome": "Cesário Lange"
},
{
"id": 3522307,
"nome": "Itapetininga"
},
{
"id": 3525854,
"nome": "Jumirim"
},
{
"id": 3551108,
"nome": "Sarapuí"
},
{
"id": 3554003,
"nome": "Tatuí"
},
{
"id": 3554508,
"nome": "Tietê"
}
]
},
{
"id": "0530102",
"nome": "Sub-região 2",
"municipios": [
{
"id": 3501152,
"nome": "Alumínio"
},
{
"id": 3502754,
"nome": "Araçariguama"
},
{
"id": 3519709,
"nome": "Ibiúna"
},
{
"id": 3523909,
"nome": "Itu"
},
{
"id": 3528403,
"nome": "Mairinque"
},
{
"id": 3540606,
"nome": "Porto Feliz"
},
{
"id": 3545209,
"nome": "Salto"
},
{
"id": 3550605,
"nome": "São Roque"
}
]
},
{
"id": "0530103",
"nome": "Sub-região 3",
"municipios": [
{
"id": 3502903,
"nome": "Araçoiaba da Serra"
},
{
"id": 3521002,
"nome": "Iperó"
},
{
"id": 3537800,
"nome": "Piedade"
},
{
"id": 3537909,
"nome": "Pilar do Sul"
},
{
"id": 3545308,
"nome": "Salto de Pirapora"
},
{
"id": 3550209,
"nome": "São Miguel Arcanjo"
},
{
"id": 3552205,
"nome": "Sorocaba"
},
{
"id": 3553500,
"nome": "Tapiraí"
},
{
"id": 3557006,
"nome": "Votorantim"
}
]
}
],
"municipios": [
{
"id": 3500758,
"nome": "Alambari"
},
{
"id": 3501152,
"nome": "Alumínio"
},
{
"id": 3502754,
"nome": "Araçariguama"
},
{
"id": 3502903,
"nome": "Araçoiaba da Serra"
},
{
"id": 3507001,
"nome": "Boituva"
},
{
"id": 3510302,
"nome": "Capela do Alto"
},
{
"id": 3511508,
"nome": "Cerquilho"
},
{
"id": 3511607,
"nome": "Cesário Lange"
},
{
"id": 3519709,
"nome": "Ibiúna"
},
{
"id": 3521002,
"nome": "Iperó"
},
{
"id": 3522307,
"nome": "Itapetininga"
},
{
"id": 3523909,
"nome": "Itu"
},
{
"id": 3525854,
"nome": "Jumirim"
},
{
"id": 3528403,
"nome": "Mairinque"
},
{
"id": 3537800,
"nome": "Piedade"
},
{
"id": 3537909,
"nome": "Pilar do Sul"
},
{
"id": 3540606,
"nome": "Porto Feliz"
},
{
"id": 3545209,
"nome": "Salto"
},
{
"id": 3545308,
"nome": "Salto de Pirapora"
},
{
"id": 3550209,
"nome": "São Miguel Arcanjo"
},
{
"id": 3550605,
"nome": "São Roque"
},
{
"id": 3551108,
"nome": "Sarapuí"
},
{
"id": 3552205,
"nome": "Sorocaba"
},
{
"id": 3553500,
"nome": "Tapiraí"
},
{
"id": 3554003,
"nome": "Tatuí"
},
{
"id": 3554508,
"nome": "Tietê"
},
{
"id": 3557006,
"nome": "Votorantim"
}
]
},
{
"id": "05401",
"nome": "Região Metropolitana de Ribeirão Preto",
"UF": {
"id": 35,
"sigla": "SP",
"nome": "São Paulo",
"regiao": {
"id": 3,
"sigla": "SE",
"nome": "Sudeste"
}
},
"sub-regioes-metropolitanas": [
{
"id": "0540104",
"nome": "Sub-região 4",
"municipios": [
{
"id": 3501004,
"nome": "Altinópolis"
},
{
"id": 3505906,
"nome": "Batatais"
},
{
"id": 3531902,
"nome": "Morro Agudo"
},
{
"id": 3533601,
"nome": "Nuporanga"
},
{
"id": 3534302,
"nome": "Orlândia"
},
{
"id": 3544905,
"nome": "Sales Oliveira"
},
{
"id": 3547908,
"nome": "Santo Antônio da Alegria"
}
]
},
{
"id": "0540101",
"nome": "Sub-região 1",
"municipios": [
{
"id": 3505609,
"nome": "Barrinha"
},
{
"id": 3507803,
"nome": "Brodowski"
},
{
"id": 3513108,
"nome": "Cravinhos"
},
{
"id": 3514601,
"nome": "Dumont"
},
{
"id": 3518859,
"nome": "Guatapará"
},
{
"id": 3525102,
"nome": "Jardinópolis"
},
{
"id": 3527603,
"nome": "Luís Antônio"
},
{
"id": 3540200,
"nome": "Pontal"
},
{
"id": 3540903,
"nome": "Pradópolis"
},
{
"id": 3543402,
"nome": "Ribeirão Preto"
},
{
"id": 3547502,
"nome": "Santa Rita do Passa Quatro"
},
{
"id": 3550902,
"nome": "São Simão"
},
{
"id": 3551405,
"nome": "Serra Azul"
},
{
"id": 3551504,
"nome": "Serrana"
},
{
"id": 3551702,
"nome": "Sertãozinho"
}
]
},
{
"id": "0540103",
"nome": "Sub-região 3",
"municipios": [
{
"id": 3509403,
"nome": "Cajuru"
},
{
"id": 3510906,
"nome": "Cássia dos Coqueiros"
},
{
"id": 3530508,
"nome": "Mococa"
},
{
"id": 3546256,
"nome": "Santa Cruz da Esperança"
},
{
"id": 3547601,
"nome": "Santa Rosa de Viterbo"
},
{
"id": 3553302,
"nome": "Tambaú"
}
]
},
{
"id": "0540102",
"nome": "Sub-região 2",
"municipios": [
{
"id": 3518602,
"nome": "Guariba"
},
{
"id": 3524303,
"nome": "Jaboticabal"
},
{
"id": 3531308,
"nome": "Monte Alto"
},
{
"id": 3539509,
"nome": "Pitangueiras"
},
{
"id": 3553203,
"nome": "Taiúva"
},
{
"id": 3553658,
"nome": "Taquaral"
}
]
}
],
"municipios": [
{
"id": 3501004,
"nome": "Altinópolis"
},
{
"id": 3505609,
"nome": "Barrinha"
},
{
"id": 3505906,
"nome": "Batatais"
},
{
"id": 3507803,
"nome": "Brodowski"
},
{
"id": 3509403,
"nome": "Cajuru"
},
{
"id": 3510906,
"nome": "Cássia dos Coqueiros"
},
{
"id": 3513108,
"nome": "Cravinhos"
},
{
"id": 3514601,
"nome": "Dumont"
},
{
"id": 3518602,
"nome": "Guariba"
},
{
"id": 3518859,
"nome": "Guatapará"
},
{
"id": 3524303,
"nome": "Jaboticabal"
},
{
"id": 3525102,
"nome": "Jardinópolis"
},
{
"id": 3527603,
"nome": "Luís Antônio"
},
{
"id": 3530508,
"nome": "Mococa"
},
{
"id": 3531308,
"nome": "Monte Alto"
},
{
"id": 3531902,
"nome": "Morro Agudo"
},
{
"id": 3533601,
"nome": "Nuporanga"
},
{
"id": 3534302,
"nome": "Orlândia"
},
{
"id": 3539509,
"nome": "Pitangueiras"
},
{
"id": 3540200,
"nome": "Pontal"
},
{
"id": 3540903,
"nome": "Pradópolis"
},
{
"id": 3543402,
"nome": "Ribeirão Preto"
},
{
"id": 3544905,
"nome": "Sales Oliveira"
},
{
"id": 3546256,
"nome": "Santa Cruz da Esperança"
},
{
"id": 3547502,
"nome": "Santa Rita do Passa Quatro"
},
{
"id": 3547601,
"nome": "Santa Rosa de Viterbo"
},
{
"id": 3547908,
"nome": "Santo Antônio da Alegria"
},
{
"id": 3550902,
"nome": "São Simão"
},
{
"id": 3551405,
"nome": "Serra Azul"
},
{
"id": 3551504,
"nome": "Serrana"
},
{
"id": 3551702,
"nome": "Sertãozinho"
},
{
"id": 3553203,
"nome": "Taiúva"
},
{
"id": 3553302,
"nome": "Tambaú"
},
{
"id": 3553658,
"nome": "Taquaral"
}
]
}
]
I need this output (example):
[ [ {
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3500758,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3507001,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3510302,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3511508,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3511607,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3522307,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3525854,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3551108,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3554003,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05301",
"nome_rgia_mptn" : "Região Metropolitana de Sorocaba",
"id_sub_rgia_mptn" : "0530101",
"nome_sub_rgia_mptn" : "Sub-região 1",
"id_mcpo" : 3554508,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05101",
"nome_rgia_mptn" : "Região Metropolitana de Campinas",
"id_sub_rgia_mptn" : "",
"nome_sub_rgia_mptn" : "",
"id_mcpo" : 3501608,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
},
{
"id_rgia_mptn" : "05101",
"nome_rgia_mptn" : "Região Metropolitana de Campinas",
"id_sub_rgia_mptn" : "",
"nome_sub_rgia_mptn" : "",
"id_mcpo" : 3503802,
"id_uf" : 35,
"sgla_uf" : "SP",
"id_rgia" : 3,
"sgla_rgia" : "SE"
}]]
I want it according to these notes:
Like that:
The results for each attribute cannot bring LISTS of values, for example: id_mcpo : [1, 2, 3, 4, 5, 6], I need one value to be brought per line, like this:
, 1. id_mcpo: 1,
, 2. id_mcpo: 2,
, 3. id_mcpo: 3,
, 4. id_mcpo: 4,
, 5. id_mcpo: 5,
, 6. id_mcpo: 6,
Since I will save this in tables.
In my other question, the answer ended up considering "municipios" outside "sub-regioes-metropolitanas" and I want what is INSIDE "sub-regioes-metropolitanas".
I know that some "sub-regioes-metropolitanas" do not have "municipios", but there is no problem with these fields being empty or simply not being available in these cases.
Can you help me do a JOLT to get the expected result?
I tried with this JOLT and I didn't get the expected output:
[
{
"operation": "shift",
"spec": {
"*": {
"id": "[&1].id_rgia_mptn",
"nome": "[&1].nome_rgia_mptn",
"sub-regioes-metropolitanas": {
"*": {
"id": "[&1].id_sub_rgia_mptn",
"nome": "[&1].nome_sub_rgia_mptn",
"municipios": {
"*": {
"id": "[&3].id_mcpo"
}
}
}
},
"UF": {
"id": "[&2].id_uf",
"sigla": "[&2].sgla_uf",
"regiao": {
"id": "[&3].id_rgia",
"sigla": "[&3].sgla_rgia"
}
}
}
}
}
]
The following spec will give the expected output.
[
{
"operation": "shift",
"spec": {
"*": {
"sub-regioes-metropolitanas": {
"*": {
"municipios": {
"*": {
"@(4,id)": "&5_&3_&1.id_rgia_mptn",
"@4,nome": "&5_&3_&1.nome_rgia_mptn",
"@2,id": "&5_&3_&1.id_sub_rgia_mptn",
"@2,nome": "&5_&3_&1.nome_sub_rgia_mptn",
"id": "&5_&3_&1.id_mcpo",
"@4,UF.id": "&5_&3_&1.id_uf",
"@4,UF.sigla": "&5_&3_&1.sgla_uf",
"@4,UF.regiao.id": "&5_&3_&1.id_rgia",
"@4,UF.regiao.sigla": "&5_&3_&1.sgla_rgia"
}
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": ""
}
}
]