2017-03-07 33 views
8

Sự khác biệt giữa hai lớp này là gì?org.json.JSONObject vs thư viện gson JsonObject

Nếu ai đó sử dụng thư viện Gson là nó thích hợp hơn để sử dụng com.google.json.JsonObject qua org.json.JSONObject?

Ai có thể tranh thủ ưu và khuyết điểm của 2 lựa chọn này?

Trả lời

4

Nhiều triển khai JSON có sẵn trên thị trường và hầu hết trong số đó là nguồn mở. Mỗi loại đều có những ưu điểm và nhược điểm riêng.

  • Google GSON
  • Jackson GSONclick cho các tài liệu chính thức

    • Cung cấp toJson đơn giản() và fromJson() phương pháp
    • org.json, vv

    Google để chuyển đổi các đối tượng Java thành JSON và ngược lại

  • Cho phép tồn tại trước đó đối tượng unmodifiable được chuyển đổi sang và từ JSON
  • hỗ trợ mở rộng của Java Generics
  • Cho phép cơ quan đại diện tùy chỉnh cho các đối tượng
  • Hỗ trợ đối tượng tùy tiện phức tạp (với phân cấp thừa kế sâu và sử dụng rộng rãi các loại generic)

Jacksonclick cho các tài liệu chính thức

  • Truyền API hoặc gia tăng phân tích cú pháp/hệ: đọc và viết nội dung JSON như các sự kiện rời rạc mô hình
  • Tree: cung cấp một có thể thay đổi đại diện cây trong bộ nhớ của một tài liệu JSON
  • dữ liệu ràng buộc: chuyển đổi JSON đến và đi từ POJO của

một số blog so sánh bấm vào đây blogs1, blog2

cá nhân tôi thực hiện một điểm chuẩn cho serialization và deserialization sử dụng GSON vs Jackson vs Simple JSON

  • đối tượng rất nhỏ: Google gson thực hiện nhanh hơn so với Jackson và JSON đơn giản
  • đối tượng lớn: Google gson thực hiện nhanh hơn so với Jackson và đơn giản JSON
3

Sau đây là những khác biệt chính:

1 GSON có thể sử dụng định nghĩa đối tượng để trực tiếp tạo đối tượng thuộc loại mong muốn. JSONObject cần được phân tích cú pháp theo cách thủ công.

2) org.json là một API kiểu cây đơn giản.Điểm yếu lớn nhất là nó yêu cầu bạn tải toàn bộ tài liệu JSON vào một chuỗi trước khi bạn có thể phân tích nó. Đối với các tài liệu JSON lớn, điều này có thể không hiệu quả.

3) Đến nay điểm yếu lớn nhất của việc triển khai thực hiện org.json là JSONException. Nó chỉ là không thuận tiện để có một khối try/catch xung quanh tất cả các công cụ JSON của bạn.

4) Gson là API tốt nhất để phân tích cú pháp JSON trên Android. Nó có kích thước nhị phân rất nhỏ (dưới 200 KiB), có dữ liệu nhanh và có API dễ sử dụng đơn giản.

5) GSON và Jackson là giải pháp phổ biến nhất để quản lý dữ liệu JSON trong thế giới java.

Các vấn đề liên quan