Phân tích dữ liệu JSON
Khi danh mục sản phẩm đã được tải, nhóm marketing yêu cầu một báo cáo định giá. Họ muốn biết giá trung bình, xác định sản phẩm đắt nhất và xem cách sản phẩm được phân bổ theo từng danh mục.
Tin vui: khi dữ liệu JSON đã nằm trong một bảng Tablesaw, bạn có thể dùng lại các thao tác trên cột mà bạn đã biết.
Các lớp JsonReader, JsonReadOptions, và Table đã được import, và tệp products.json chứa các cột name, price, và category.
Bài tập này là một phần của khóa học
Nhập dữ liệu trong Java
Hướng dẫn bài tập
- Hoàn tất việc đọc JSON để tải bảng products.
- Tính giá trung bình bằng một phương thức của cột.
- Tìm giá tối đa trong bộ dữ liệu.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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());
}
}