Складна обробка JSON

Імпорт даних у Java

Anthony Markham

VP Quant Developer

Складні дані JSON

  • Вкладені об'єкти та масиви
  • Змішані типи даних
  • Робота з API та файлами конфігурації 🧠

$$

Складні дані JSON

Імпорт даних у Java

Вкладені об'єкти JSON

  • Вкладеність — об'єкти всередині об'єктів
  • Tablesaw може автоматично розплющувати прості випадки
  • Розплющення — перетворення стовпця зі списками чи масивами в кожному рядку на кілька рядків
{
  "customer": {
    "name": "John Doe",
    "address": {
      "street": "123 Main St",                            <- Вкладена інформація
      "city": "Boston",                                   <- Вкладена інформація
      "coordinates": {"lat": 42.3601, "lng": -71.0589}    <- Вкладене в межах вкладеного
    }
  }
}
Імпорт даних у Java

Розплющення 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
Імпорт даних у Java

Налаштування JsonReader

  • JsonReadOptions дає змогу:
    • Вказати джерело (файл, URL або рядок)
    • Налаштувати назву таблиці
    • Обробляти пропущені значення
JsonReadOptions options = JsonReadOptions

.builder("complex.json")
.tableName("Products")
.missingValueIndicator("N/A")
.build();
Table data = new JsonReader().read(options);
missingValues = data.stringColumn("name").isMissing();
Імпорт даних у Java

Об'єднання таблиць

  • Використовуйте joinOn, щоб об'єднати таблиці
  • Inner-з'єднання лишає лише рядки, що є в обох таблицях
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);

$$

$$

  • Є багато інших типів з'єднань
Імпорт даних у Java

Давайте потренуємось!

Імпорт даних у Java

Preparing Video For Download...