Processamento de JSON complexo

Importando dados em Java

Anthony Markham

VP Quant Developer

Dados JSON complexos

  • Objetos e arrays aninhados
  • Tipos de dados mistos
  • Manipulação de APIs e arquivos de configuração 🧠

$$

Dados JSON complexos

Importando dados em Java

Objetos JSON aninhados

  • Aninhamento - objetos dentro de objetos
  • Tablesaw pode achatar casos simples automaticamente
  • Achatamento - transformar uma coluna com listas ou arrays em várias linhas
{
  "customer": {
    "name": "John Doe",
    "address": {
      "street": "123 Main St",                            <- Informação aninhada
      "city": "Boston",                                   <- Informação aninhada
      "coordinates": {"lat": 42.3601, "lng": -71.0589}    <- Aninhado dentro de aninhado
    }
  }
}
Importando dados em Java

Achatamento de 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
Importando dados em Java

Configuração do JsonReader

  • JsonReadOptions permite:
    • Especificação de fonte (arquivo, URL ou string)
    • Configuração do nome da tabela
    • Tratamento de valores ausentes
JsonReadOptions options = JsonReadOptions

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

Unindo tabelas

  • Use joinOn para unir tabelas
  • Um inner join mantém apenas as linhas presentes em ambas as tabelas
Table phones = Table.read().csv("phones.csv");   // name, phone

Table diets = Table.read().csv("diets.csv"); // name, diet
// Realiza o inner join nas duas tabelas Table joined = phones.joinOn("name").inner(diets);

$$

$$

  • Existem muitos outros tipos de joins
Importando dados em Java

Vamos praticar!

Importando dados em Java

Preparing Video For Download...