Я використовую модернізовану ефективну мережеву бібліотеку, але я не можу обробити Dynamic JSON, який містить один префікс, responseMessage
який змінюється object
випадковим чином, той самий префікс ( responseMessage
) в деяких випадках змінюється на String (динамічно).
Формат Json Об'єкт відповіді Повідомлення:
{
"applicationType":"1",
"responseMessage":{
"surname":"Jhon",
"forename":" taylor",
"dob":"17081990",
"refNo":"3394909238490F",
"result":"Received"
}
}
responseMessage
Формат Json динамічно змінюється на тип string:
{
"applicationType":"4",
"responseMessage":"Success"
}
Моя проблема полягає в тому, що в модернізацію вбудований JSON
синтаксичний аналіз, я повинен призначити один POJO на запит! але REST-API, на жаль, побудований на динамічних JSON
відгуках. Префікс змінюватиметься із рядка на об'єкт випадковим чином як у методах успіху (...), так і невдачі (...) !
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
}
У наведеному вище коді POJO TrackerRefResponse.java префікс responseMessage встановлюється на рядок або об’єкт типу responseMessage, тому ми можемо створити POJO із змінною ref з тим самим іменем (основи Java :)), тому я шукаю те саме рішення для динаміки JSON
в модернізації. Я знаю, що це дуже легка робота в звичайних http-клієнтах із асинхронним завданням, але це не найкраща практика JSON
розбору REST-Api ! дивлячись на продуктивність Бенчмарки завжди Volley або Retrofit є кращим вибором, але я не зміг ручка динамічний JSON
!
Можливе рішення, яке я знаю
Використовуйте старе завдання asyc для синтаксичного аналізу клієнта http. :(
Спробуйте переконати розробника серверних систем RESTapi.
Створити власний клієнт модернізації :)