Zacznij terazZacznij za darmo

Scalanie zagnieżdżonych danych

Zespół HR przechowuje dane pracowników w dwóch oddzielnych plikach JSON: jednym z podstawowymi informacjami i drugim z dodatkowymi atrybutami. Aby zbudować pełny profil pracownika, musisz połączyć te tabele przy użyciu wspólnego identyfikatora.

Złączenie wewnętrzne (inner join) łączy wiersze z dwóch tabel tam, gdzie wartości w kolumnie złączenia są zgodne – podobnie jak łączenie dwóch list gości na podstawie imienia i nazwiska. Klasy JsonReader, JsonReadOptions i Table zostały już zaimportowane.

To ćwiczenie jest częścią kursu

Importowanie danych w Javie

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw nazwę tabeli dla pierwszego pliku JSON.
  • Uzupełnij łańcuch budowania dla drugiego pliku.
  • Złącz tabele po kolumnie "id".

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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());
    }
}
Edytuj i uruchom kod