Đã có vài câu trả lời ở đây, nhưng tôi muốn nói thêm rằng nếu bạn đang sử dụng ProGuard
để xáo trộn mã của bạn & không sử dụng @SerializedName("name")
trong lớp mô hình của bạn, sau đó bạn GSON sẽ không hoạt động. Bởi vì obfuscation, tên biến của bạn có thể đã thay đổi từ String name
thành String a
dẫn đến phân tích GSON bị hỏng vì GSON sẽ tìm kiếm khóa a
vào json & nó sẽ không thành công.
Bằng cách chỉ định @SerializedName
, GSON sẽ không tìm trong json dựa trên tên biến & sẽ chỉ sử dụng được chỉ định @SerializedName
.
Đương nhiên bạn có thể nói Proguard để không xáo trộn mô hình của bạn, nhưng nếu bạn muốn có mô hình rối loạn, sau đó bạn phải xác định @SerializedName
Nguồn
2017-09-01 06:15:14
nào javadoc nói gì? –
tôi không thể hiểu được những gì đang nói? –
nó sẽ xác định thụt lề thuộc tính mà thuộc tính này thuộc về dữ liệu json –