Analyse van JSON-gegevens
Met de productcatalogus geladen heeft het marketingteam een prijsrapport aangevraagd. Ze willen de gemiddelde prijs weten, het duurste product identificeren en zien hoe producten over categorieën zijn verdeeld.
Goed nieuws: zodra JSON-gegevens in een Tablesaw-tabel staan, kun je dezelfde kolombewerkingen gebruiken die je al kent.
De klassen JsonReader, JsonReadOptions en Table zijn geïmporteerd, en het bestand products.json bevat de kolommen name, price en category.
Deze oefening maakt deel uit van de cursus
Data importeren in Java
Oefeninstructies
- Maak het inlezen van JSON af om de productentabel te laden.
- Bereken de gemiddelde prijs met een kolommethode.
- Zoek de maximale prijs in de gegevensset.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
public class JSONAnalysis {
public static void main(String[] args) {
// Complete the JSON read
JsonReadOptions options = JsonReadOptions.builder("products.json").build();
Table products = new JsonReader().____(options);
// Calculate average price
double avgPrice = products.doubleColumn("price").____();
// Find maximum price
DoubleColumn priceCol = products.doubleColumn("price");
double maxPrice = ____.____();
String mostExpensive = products
.where(priceCol.isEqualTo(maxPrice))
.stringColumn("name").get(0);
Table categoryCount = products.countBy("category");
System.out.println("Product Analytics Report:");
System.out.println("========================");
System.out.printf("Average Price: $%.2f%n", avgPrice);
System.out.println("Most Expensive: " + mostExpensive + " ($" + maxPrice + ")");
System.out.println("\nCategory Distribution:");
System.out.println(categoryCount.print());
}
}