Trong GWT, tôi có một mã JsArray <JavaScriptObject> trong mã của mình. Đó là nhiều hơn hoặc ít hơn một danh sách các đối tượng JSON, nhưng loại của nó là JsArray <JavaScriptObject>. Về cơ bản nó phải ở định dạng này, bởi vì tôi chuyển nó thành một tham số cho một số mã JavaScript bên ngoài bằng cách sử dụng JSNI. Rắc rối là, tôi cũng muốn giá trị này được sử dụng bởi mã Java. Trong Java, tôi muốn đối phó với một đối tượng thuộc loại <JSONObject>. Tuy nhiên, tôi đã không thực sự tìm thấy một cách tốt để chuyển đổi giữa hai điều này. Điều tốt nhất tôi có thể làm là đi bộ thẳng qua mảng để tạo loại mới tôi muốn:Chuyển đổi từ JsArray <JavaScriptObject> thành Danh sách <JSONObject> trong GWT
public List<JSONObject> getData() {
LinkedList<JSONObject> list = new LinkedList<JSONObject>();
for (int i = 0; i < data.length(); ++i) {
list.add(new JSONObject(data.get(i)));
}
return list;
}
Tôi có may mắn không? Hoặc là có một cách nhanh chóng tốt đẹp để có được giữa hai loại?
(Trả về một giá trị JSONArray có lẽ cũng sẽ ổn ... nhưng một cái gì đó thực hiện giao diện Danh sách thì đẹp).
Bạn có thể chia sẻ việc triển khai đầy đủ không? Cảm ơn bạn! –
Phần còn lại của lớp khá giống với cách tôi đã đăng. Nó chỉ là quá dài cho câu trả lời này. –