Trong ứng dụng gson đầu tiên của tôi, tôi đã tránh sử dụng các lớp bổ sung để bắt các giá trị chủ yếu vì tôi sử dụng json cho các vấn đề cấu hình
mặc dù thiếu thông tin (thậm chí trang gson), đó là những gì tôi tìm thấy và sử dụng:
bắt đầu từ
Map jsonJavaRootObject = new Gson().fromJson("{/*whatever your mega complex object*/}", Map.class)
Mỗi lần gson nhìn thấy {}, nó sẽ tạo ra một Bản đồ (thực ra là một gMap StringMap)
Mỗi lần gson nhìn thấy một '', nó tạo ra một Chuỗi
Mỗi lần gson nhìn thấy một con số, nó sẽ tạo ra một Double
Mỗi lần gson nhìn thấy [], nó tạo ra một ArrayList
Bạn có thể sử dụng sự thật này (kết hợp) để lợi thế của bạn
Cuối cùng, đây là mã tạo nên sự vật
Map<String, Object> javaRootMapObject = new Gson().fromJson(jsonLine, Map.class);
System.out.println(
(
(Map)
(
(List)
(
(Map)
(
javaRootMapObject.get("data")
)
).get("translations")
).get(0)
).get("translatedText")
);