Fusionner des données imbriquées
L’équipe RH stocke les données des employé·e·s dans deux fichiers JSON distincts : l’un contient les informations de base et l’autre des attributs supplémentaires. Pour construire un profil complet, vous devez joindre ces tables à l’aide d’un identifiant commun.
Une jointure interne (inner join) combine les lignes de deux tables lorsque la colonne de jointure correspond — comme fusionner deux listes d’invités par nom. Les classes JsonReader, JsonReadOptions et Table ont été importées pour vous.
Cet exercice fait partie du cours
Importer des données en Java
Instructions
- Définissez le nom de la table pour le premier fichier JSON.
- Complétez le chaînage du builder pour le second fichier.
- Joignez les tables sur la colonne
"id".
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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());
}
}