CommencerCommencez gratuitement

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

<cours>Importer des données en Java</cours>
Voir le cours

Instructions de l’exercice

  • 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 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());
    }
}
Modifier et exécuter le code