Procesamiento complejo de JSON

Importación de datos en Java

Anthony Markham

VP Quant Developer

Datos JSON complejos

  • Objetos y arrays anidados
  • Tipos de datos mixtos
  • Manejo de APIs y archivos de configuración 🧠

$$

Datos JSON complejos

Importación de datos en Java

Objetos JSON anidados

  • Anidación - objetos dentro de objetos
  • Tablesaw puede aplanar casos simples automáticamente
  • Aplanamiento - convertir una columna que contiene listas o arrays en cada fila en múltiples filas
{
  "customer": {
    "name": "John Doe",
    "address": {
      "street": "123 Main St",                            <- Información anidada
      "city": "Boston",                                   <- Información anidada
      "coordinates": {"lat": 42.3601, "lng": -71.0589}    <- Anidado dentro de anidado
    }
  }
}
Importación de datos en Java

Aplanamiento 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
Importación de datos en Java

Configuración de JsonReader

  • JsonReadOptions permite:
    • Especificación de fuente (archivo, URL o cadena)
    • Configuración del nombre de la tabla
    • Manejo de valores faltantes
JsonReadOptions options = JsonReadOptions

.builder("complex.json")
.tableName("Products")
.missingValueIndicator("N/A")
.build();
Table data = new JsonReader().read(options);
missingValues = data.stringColumn("name").isMissing();
Importación de datos en Java

Unión de tablas

  • Usa joinOn para unir tablas
  • Un inner join mantiene solo las filas que existen en ambas tablas
Table phones = Table.read().csv("phones.csv");   // name, phone

Table diets = Table.read().csv("diets.csv"); // name, diet
// Realiza el inner join en las dos tablas Table joined = phones.joinOn("name").inner(diets);

$$

$$

  • Existen muchos otros tipos de joins
Importación de datos en Java

¡Vamos a practicar!

Importación de datos en Java

Preparing Video For Download...