IniziaInizia gratis

Unire dati annidati

Il team HR conserva i dati dei dipendenti in due file JSON separati: uno con le informazioni di base e un altro con attributi aggiuntivi. Per creare un profilo completo del dipendente, devi unire queste tabelle usando un identificatore comune.

Un inner join combina le righe di due tabelle quando la colonna di join coincide, come unire due liste di invitati per nome. Le classi JsonReader, JsonReadOptions e Table sono già state importate per te.

Questo esercizio fa parte del corso

Importare dati in Java

Visualizza il corso

Istruzioni dell'esercizio

  • Imposta il nome della tabella per il primo file JSON.
  • Completa la catena del builder per il secondo file.
  • Esegui la join delle tabelle sulla colonna "id".

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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());
    }
}
Modifica ed esegui il codice