Gson - Tổng quan
Google Gson là một thư viện dựa trên Java đơn giản để tuần tự hóa các đối tượng Java thành JSON và ngược lại. Nó là một thư viện mã nguồn mở do Google phát triển.
Những điểm sau đây nêu bật lý do tại sao bạn nên sử dụng thư viện này:
Standardized - Gson là một thư viện chuẩn hóa do Google quản lý.
Efficient - Đây là một phần mở rộng đáng tin cậy, nhanh chóng và hiệu quả cho thư viện chuẩn Java.
Optimized - Thư viện được tối ưu hóa cao.
Support Generics - Nó cung cấp hỗ trợ rộng rãi cho thuốc generic.
Supports complex inner classes - Nó hỗ trợ các đối tượng phức tạp với hệ thống phân cấp kế thừa sâu sắc.
Đặc điểm của Gson
Dưới đây là danh sách một số tính năng nổi bật nhất của Gson -
Easy to use - API Gson cung cấp một mặt tiền cấp cao để đơn giản hóa các trường hợp sử dụng thường được sử dụng.
No need to create mapping - API Gson cung cấp ánh xạ mặc định cho hầu hết các đối tượng được tuần tự hóa.
Performance- Gson khá nhanh và ít tốn bộ nhớ. Nó phù hợp với đồ thị hoặc hệ thống đối tượng lớn.
Clean JSON - Gson tạo ra một kết quả JSON gọn gàng và dễ đọc.
No Dependency - Thư viện Gson không yêu cầu bất kỳ thư viện nào khác ngoài JDK.
Open Source- Thư viện Gson là mã nguồn mở; nó có sẵn miễn phí.
Ba cách xử lý JSON
Gson cung cấp ba cách thay thế để xử lý JSON -
API truyền trực tuyến
Nó đọc và ghi nội dung JSON dưới dạng các sự kiện rời rạc. JsonReader và JsonWriter đọc / ghi dữ liệu dưới dạng mã thông báo, được gọi là JsonToken.
Đây là cách tiếp cận mạnh mẽ nhất trong ba cách tiếp cận để xử lý JSON. Nó có chi phí thấp nhất và nó khá nhanh trong các hoạt động đọc / ghi. Nó tương tự như trình phân tích cú pháp Stax cho XML.
Mô hình cây
Nó chuẩn bị một biểu diễn cây trong bộ nhớ của tài liệu JSON. Nó xây dựng một cây gồm các nút JsonObject. Đây là một cách tiếp cận linh hoạt và tương tự như trình phân tích cú pháp DOM cho XML.
Liên kết dữ liệu
Nó chuyển đổi JSON đến và từ POJO (Đối tượng Java cũ) bằng cách sử dụng trình truy cập thuộc tính. Gson đọc / ghi JSON bằng cách sử dụng bộ điều hợp kiểu dữ liệu. Nó tương tự như trình phân tích cú pháp JAXB cho XML.