JSONObject không có quá nhiều chi phí bổ sung trên đầu trang của HashMap. Nếu bạn đồng ý với việc sử dụng HashMap thì bạn sẽ không sao khi sử dụng JSONObject. Điều này được cung cấp bạn muốn tạo JSON.
JSONObject kiểm tra tính hợp lệ của các giá trị mà bạn đang lưu trữ như một phần của JSONObject của bạn, để đảm bảo giá trị phù hợp với thông số JSON. Ví dụ: Các giá trị NaN không tạo thành một phần của JSON hợp lệ. Ngoài ra, JSONObject có thể tạo ra các chuỗi json (thường xuyên | prettfied). Những chuỗi đó có thể khá lớn, tùy thuộc vào số lượng JSON. Ngoài ra, JSONObject sử dụng StringBuffer, vì vậy một trong nhiều thứ mà tôi sẽ làm là thay thế tất cả các lần xuất hiện của StringBuffer bằng StringBuilder.
JSONObject (từ org.json) là một trong các thư viện JSON đơn giản mà bạn có thể sử dụng. Nếu bạn muốn một cái gì đó rất hiệu quả, hãy sử dụng một cái gì đó giống như Jackson.
Thực ra tôi không đồng ý với điều này - vì JSONObject cụ thể cho một thư viện, không giống như Bản đồ, việc hiển thị nó dưới dạng một loại sẽ thêm nhiều khớp nối hơn vào thư viện cụ thể và các kiểu dữ liệu của nó. Vì vậy, tôi sẽ không categorically nói nó nên luôn luôn được sử dụng. – StaxMan
@Stax, tôi có thể thấy quan điểm của bạn. Tuy nhiên, nếu bạn cần phải tách một phần của mã, bạn luôn có thể tự mình trích xuất dữ liệu vào bản đồ. – jjnguy
Đúng. Tôi đoán tổng thể nó là nhiều hơn một câu hỏi của POJOs vs abstractions thư viện cụ thể; Tôi muốn giữ các khía cạnh định dạng dữ liệu gần hơn với các cạnh. – StaxMan