Mesclando dados aninhados
A equipe de RH armazena dados de funcionários em dois arquivos JSON separados: um com informações básicas e outro com atributos adicionais. Para montar o perfil completo do funcionário, você precisa fazer um join dessas tabelas usando um identificador em comum.
Um inner join combina linhas de duas tabelas quando a coluna de junção coincide — como juntar duas listas de convidados pelo nome. As classes JsonReader, JsonReadOptions e Table já foram importadas para você.
Este exercício faz parte do curso
Importando dados em Java
Instruções do exercício
- Defina o nome da tabela para o primeiro arquivo JSON.
- Complete a cadeia do builder para o segundo arquivo.
- Faça o join das tabelas na coluna
"id".
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
public class NestedEmployees {
public static void main(String[] args) {
// Set table name for first JSON
JsonReadOptions opts1 = JsonReadOptions
.builder("employees.json")
.____("Main")
.build();
Table main = new JsonReader().read(opts1);
// Complete builder chain for second JSON
JsonReadOptions opts2 = JsonReadOptions
.builder("employees_extra.json")
.tableName("Extra")
.____();
Table extra = new JsonReader().read(opts2);
System.out.println("Main columns: " + main.columnNames());
System.out.println("Extra columns: " + extra.columnNames());
// Join tables on id column
Table joined = main.____("id").____(extra);
System.out.println("\nJoined table (inner join on id):");
System.out.println(joined.print());
}
}