Khoá học lập trình Java Core nâng cao [Video] gson trong Java - Vi dụ json trong java - Bài tập quản lý sản phẩm + json trong Java
- 5.0/5.0
- 2k Đăng ký
- Học lập trình
- Tiếng việt
Thông tin khóa học
[Share Code] gson trong Java - Vi dụ json trong java - Bài tập quản lý sản phẩm + json trong Java
JSON (Mini Project)
- Chuyển Array/Object -> json trong Java
- Chuyển json từ file -> Array/Object trong java
- API (JSON) -> Thao tác bằng Java.
=================================================
Mini Project:
Viết 1 chương trình quản lý sản phẩm (Kho hang)
1. Nhập thông tin sản phẩm
2. Hiển thị thông tin sản phẩm
3. Lưu File
4. Đọc nội dung từ File
5. Thoát chương trình
Phân tích:
Product:
- Title
- thumbnail
- price
- description
Tạo đối tượng sản phẩm (product)
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package aptech.json.lesson01;
import java.util.Scanner;
/**
*
* @author Diep.Tran
*/
public class Product {
String title;
String thumbnail;
String description;
float price;
public Product() {
}
public Product(String title, String thumbnail, String description, float price) {
this.title = title;
this.thumbnail = thumbnail;
this.description = description;
this.price = price;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getThumbnail() {
return thumbnail;
}
public void setThumbnail(String thumbnail) {
this.thumbnail = thumbnail;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
@Override
public String toString() {
return "Product{" + "title=" + title + ", thumbnail=" + thumbnail + ", description=" + description + ", price=" + price + '}';
}
public void input() {
System.out.println("=== NHAP THONG TIN SAN PHAM ===");
Scanner scan = new Scanner(System.in);
System.out.println("Nhap tieu de: ");
title = scan.nextLine();
System.out.println("Nhap thumbnail: ");
thumbnail = scan.nextLine();
System.out.println("Nhap mo ta san pham: ");
description = scan.nextLine();
System.out.println("Gia tien: ");
price = Float.parseFloat(scan.nextLine());
}
}
Chương trình
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package aptech.json.lesson01;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Diep.Tran
*/
public class Main {
static List<Product> dataList = new ArrayList<>();
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
int choose;
do {
showMenu();
choose = Integer.parseInt(scan.nextLine());
switch(choose) {
case 1:
input();
break;
case 2:
display();
break;
case 3:
saveFile();
break;
case 4:
readFile();
break;
case 5:
readAPI();
break;
case 6:
System.out.println("Thoat chuong trinh!!!");
break;
default:
System.out.println("Nhap sai!!!");
break;
}
} while(choose != 6);
}
static void showMenu() {
System.out.println("1. Nhap thong tin san pham");
System.out.println("2. Hien thi thong tin san pham");
System.out.println("3. Luu file product.json");
System.out.println("4. Doc noi dung file product.json");
System.out.println("5. Thao tac API (fake)");
System.out.println("6. Thoat");
System.out.println("Chon: ");
}
private static void input() {
System.out.println("Nhap so san pham can them (N): ");
int n = Integer.parseInt(scan.nextLine());
for (int i = 0; i < n; i++) {
Product product = new Product();
product.input();
dataList.add(product);
}
}
private static void display() {
System.out.println("=== THONG TIN SAN PHAM ===");
dataList.forEach((product) -> {
System.out.println(product);
});
}
private static void saveFile() {
//Buoc 1. Convert dataList (Array) -> json string
Gson gson = new Gson();
String json = gson.toJson(dataList);
System.out.println("JSON: " + json);
//Save du lieu vao file product.json
FileOutputStream fos = null;
try {
fos = new FileOutputStream("product.json");
byte[] data = json.getBytes("utf8");
fos.write(data);
} catch (FileNotFoundException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} finally {
if(fos != null) {
try {
fos.close();
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
private static void readFile() {
FileReader reader = null;
try {
File file = new File("product.json");
reader = new FileReader(file);
Gson gson = new Gson();
Type type = new TypeToken<List<Product>>(){}.getType();
dataList = gson.fromJson(reader, type);
display();
} catch (FileNotFoundException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
reader.close();
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
private static void readAPI() {
}
}Đăng nhập để làm bài kiểm tra
Chưa có kết quả nào trước đó
Chương trình
Video Java Swing|FX -Form nhập thông tin sinh viên Java Swing-Component Java Swing-Khoá học Lập trình Java
Phần mềm quản lý sinh viên MySQL + Java - Chương trình quản lý sinh viên MySQL + Java - Lập Trình Java
Video Phần mềm quản lý sinh viên MySQL + Java - Chương trình quản lý sinh viên MySQL + Java - Lập Trình Java
Nguyễn Văn An
2026-06-22 04:18:56
Khóa học cực kỳ chất lượng, giảng viên hướng dẫn rất chi tiết và dễ hiểu. Mình đã áp dụng được ngay vào công việc thực tế.
Trần Thị Bích
2026-06-19 04:18:56
Nội dung bài giảng được sắp xếp logic, đi từ cơ bản đến nâng cao. Rất phù hợp cho người mới bắt đầu.
Lê Hoàng Hải
2026-06-17 04:18:56
Khóa học hay, tuy nhiên phần bài tập thực hành hơi khó một chút. Cần phải xem lại video vài lần mới làm được.
Phạm Minh Tuấn
2026-06-10 04:18:56
Tuyệt vời! Đây là khóa học tốt nhất mình từng tham gia. Support nhiệt tình, giải đáp thắc mắc rất nhanh.
Đánh giá
B1. B1. Tạo tài khoản -> Sử dụng để học online
B2. Đăng ký học
B3. Hoàn thành mua khoá học
B4. Thanh toán theo hướng dẫn
B5. Đợi chúng tôi kiểm tra thông tin và thêm bạn vào lớp học
B2. Đăng ký học
B3. Hoàn thành mua khoá học
B4. Thanh toán theo hướng dẫn
B5. Đợi chúng tôi kiểm tra thông tin và thêm bạn vào lớp học
Chào mừng các anh chị và các bạn gia nhập đội ngũ Giảng viên QViet. Anh chị vui lòng đăng ký theo hướng dẫn sau:
Bước 1: Truy cập website https://gozic.vn/teacher/form
Bước 2: Điền thông tin theo yêu cầu. Để bản đăng ký được duyệt nhanh nhất, anh chị hãy điền đủ thông tin nhé.
Bước 3: Click vào "đăng ký ngay" để hoàn thành
Lưu ý:
Link video bài giảng mẫu: Video bài giảng mẫu là căn cứ để Trắc Nghiệm Việt duyệt về hình thức và chất lượng giảng dạy. Vì vậy anh chị hãy điền link này để đăng ký được duyệt nhanh nhất nhé.
Anh chị cũng nên mô tả kỹ về kinh nghiệm giảng dạy để Trắc Nghiệm Việt đánh giá nhé.
Chúc các anh chị và các bạn thành công, sớm gia nhập đội ngũ giảng viên Trắc Nghiệm Việt!
Bước 1: Truy cập website https://gozic.vn/teacher/form
Bước 2: Điền thông tin theo yêu cầu. Để bản đăng ký được duyệt nhanh nhất, anh chị hãy điền đủ thông tin nhé.
Bước 3: Click vào "đăng ký ngay" để hoàn thành
Lưu ý:
Link video bài giảng mẫu: Video bài giảng mẫu là căn cứ để Trắc Nghiệm Việt duyệt về hình thức và chất lượng giảng dạy. Vì vậy anh chị hãy điền link này để đăng ký được duyệt nhanh nhất nhé.
Anh chị cũng nên mô tả kỹ về kinh nghiệm giảng dạy để Trắc Nghiệm Việt đánh giá nhé.
Chúc các anh chị và các bạn thành công, sớm gia nhập đội ngũ giảng viên Trắc Nghiệm Việt!
699,000 VNĐ
1,599,000 VNĐ
Tổng quan khóa học
- Bài học 88
- Thời gian Linh hoạt
- Mức độ Mới bắt đầu
- Ngôn ngữ Tiếng việt
- Chứng chỉ Không
Trần Văn Điệp
Founder tại QViet.vn