Tôi đang sử dụng trang bị thêm thư viện mạng hiệu quả, nhưng tôi không thể xử lý Dynamic JSON chứa tiền tố đơn lẻ responseMessage
thay đổi thành object
ngẫu nhiên, tiền tố tương tự ( responseMessage
) thay đổi thành Chuỗi trong một số trường hợp (động).
Định dạng json Đối tượng của phản hồi
{
"applicationType":"1",
"responseMessage":{
"surname":"Jhon",
"forename":" taylor",
"dob":"17081990",
"refNo":"3394909238490F",
"result":"Received"
}
}
responseMessage
Định dạng json tự động thay đổi thành chuỗi loại:
{
"applicationType":"4",
"responseMessage":"Success"
}
Vấn đề của tôi là vì trang bị thêm đã JSON
tích hợp phân tích cú pháp, tôi phải chỉ định một POJO cho mỗi yêu cầu! nhưng thật không may, REST-API được xây dựng dựa trên các JSON
phản hồi động . Tiền tố sẽ thay đổi từ chuỗi sang đối tượng một cách ngẫu nhiên trong cả hai phương thức thành công (...) và thất bại (...) !
void doTrackRef(Map<String, String> paramsref2) {
RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint("http://192.168.100.44/RestDemo").build();
TrackerRefRequest userref = restAdapter.create(TrackerRefRequest.class);
userref.login(paramsref2,
new Callback<TrackerRefResponse>() {
@Override
public void success(
TrackerRefResponse trackdetailresponse,
Response response) {
Toast.makeText(TrackerActivity.this, "Success",
Toast.LENGTH_SHORT).show();
}
@Override
public void failure(RetrofitError retrofitError) {
Toast.makeText(TrackerActivity.this, "No internet",
Toast.LENGTH_SHORT).show();
}
});
}
Pojo:
public class TrackerRefResponse {
private String applicationType;
private String responseMessage; //String type
//private ResponseMessage responseMessage; //Object of type ResponseMessage
//Setters and Getters
}
Trong đoạn mã trên POJO TrackerRefResponse.java prefix responseMessage được đặt thành chuỗi hoặc đối tượng của kiểu responseMessage, vì vậy chúng tôi có thể tạo POJO với biến ref có cùng tên (java basics :)) vì vậy tôi đang tìm kiếm giải pháp tương tự cho động JSON
trong Retrofit. Tôi biết đây là công việc rất dễ dàng trong các ứng dụng khách http bình thường với tác vụ không đồng bộ, nhưng đó không phải là phương pháp hay nhất trong JSON
phân tích cú pháp REST-Api ! nhìn vào hiệu suất Benchmarks luôn luôn là Volley hoặc Retrofit là lựa chọn tốt nhất, nhưng tôi không xử lý được động JSON
!
Giải pháp khả thi mà tôi biết
Sử dụng tác vụ asyc cũ với phân tích cú pháp máy khách http. :(
Cố gắng thuyết phục nhà phát triển phụ trợ RESTapi.
Tạo ứng dụng trang bị thêm tùy chỉnh :)