Fusion de données imbriquées
L'équipe RH conserve les données des employés dans deux fichiers JSON distincts : l'un avec les renseignements de base et l'autre avec des attributs supplémentaires. Pour constituer un profil d'employé complet, vous devez joindre ces tables à l'aide d'un identifiant commun.
Une jointure interne 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.
Cette activité fait partie du cours
Importer des données en Java
Instructions de l’exercice
- Définissez le nom de la table pour le premier fichier JSON.
- Complétez la chaîne du générateur pour le deuxième fichier.
- Joignez les tables sur la colonne
"id".
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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());
}
}