Procesarea complexă a JSON

Importul datelor în Java

Anthony Markham

VP Quant Developer

Date JSON complexe

  • Obiecte și tablouri imbricate
  • Tipuri de date mixte
  • Gestionarea API-urilor și a fișierelor de configurare 🧠

$$

Date JSON complexe

Importul datelor în Java

Obiecte JSON imbricate

  • Imbricare - obiecte în interiorul altor obiecte
  • Tablesaw poate aplatiza automat cazurile simple
  • Aplatizare - transformarea unei coloane cu liste sau tablouri în mai multe rânduri
{
  "customer": {
    "name": "John Doe",
    "address": {
      "street": "123 Main St",                            <- Nested information
      "city": "Boston",                                   <- Nested information
      "coordinates": {"lat": 42.3601, "lng": -71.0589}    <- Nested within nested information
    }
  }
}
Importul datelor în Java

Aplatizarea JSON

customer.name customer.address.street customer.address.city
John Doe 123 Main St Boston

$ $

customer.address.coordinates.lat customer.address.coordinates.lng
42.3601 -71.0589
Importul datelor în Java

Configurarea JsonReader

  • JsonReadOptions permite:
    • Specificarea sursei (fișier, URL sau șir de caractere)
    • Configurarea numelui tabelului
    • Gestionarea valorilor lipsă
JsonReadOptions options = JsonReadOptions

.builder("complex.json")
.tableName("Products")
.missingValueIndicator("N/A")
.build();
Table data = new JsonReader().read(options);
missingValues = data.stringColumn("name").isMissing();
Importul datelor în Java

Unirea tabelelor

  • Folosiți joinOn pentru a uni tabele
  • O unire de tip inner păstrează doar rândurile comune ambelor tabele
Table phones = Table.read().csv("phones.csv");   // name, phone

Table diets = Table.read().csv("diets.csv"); // name, diet
// Perform the inner join on the two tables Table joined = phones.joinOn("name").inner(diets);

$$

$$

  • Există multe alte tipuri de uniri
Importul datelor în Java

Să exersăm!

Importul datelor în Java

Preparing Video For Download...