Complexe JSON-verwerking

Data importeren in Java

Anthony Markham

VP Quant Developer

Complexe JSON-data

  • Geneste objecten en arrays
  • Gemengde datatypes
  • Omgaan met API's en configuratiebestanden 🧠

$$

Complexe json data

Data importeren in Java

Geneste JSON-objecten

  • Geneste objecten - objecten binnen objecten
  • Tablesaw kan eenvoudige gevallen automatisch flattenen
  • Flattening - een kolom met lijsten of arrays in elke rij omzetten naar meerdere rijen
{
  "customer": {
    "name": "John Doe",
    "address": {
      "street": "123 Main St",                            <- Geneste informatie
      "city": "Boston",                                   <- Geneste informatie
      "coordinates": {"lat": 42.3601, "lng": -71.0589}    <- Genest binnen geneste informatie
    }
  }
}
Data importeren in Java

JSON flattening

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
Data importeren in Java

JsonReader configuratie

  • JsonReadOptions biedt:
    • Bron specificatie (bestand, URL of string)
    • Tabelnaam configuratie
    • Omgaan met ontbrekende waarden
JsonReadOptions options = JsonReadOptions

.builder("complex.json")
.tableName("Products")
.missingValueIndicator("N/A")
.build();
Table data = new JsonReader().read(options);
missingValues = data.stringColumn("name").isMissing();
Data importeren in Java

Tabellen koppelen

  • Gebruik joinOn om tabellen te koppelen
  • Een inner join behoudt alleen rijen die in beide tabellen bestaan
Table phones = Table.read().csv("phones.csv");   // naam, telefoon

Table diets = Table.read().csv("diets.csv"); // naam, dieet
// Voer de inner join uit op de twee tabellen Table joined = phones.joinOn("name").inner(diets);

$$

$$

  • Er bestaan veel andere soorten joins
Data importeren in Java

Laten we oefenen!

Data importeren in Java

Preparing Video For Download...