Estoy usando la biblioteca de red eficiente de actualización, pero no puedo manejar Dynamic JSON que contiene un prefijo único responseMessage
que cambia object
aleatoriamente, el mismo prefijo ( responseMessage
) cambia a String en algunos casos (dinámicamente).
Formato JSON Objeto de respuesta Mensaje:
{
"applicationType":"1",
"responseMessage":{
"surname":"Jhon",
"forename":" taylor",
"dob":"17081990",
"refNo":"3394909238490F",
"result":"Received"
}
}
responseMessage
El formato JSON cambia dinámicamente para escribir cadena:
{
"applicationType":"4",
"responseMessage":"Success"
}
Mi problema es que, dado que la modificación tiene un JSON
análisis integrado , ¡tengo que asignar un solo POJO por solicitud! pero la REST-API, desafortunadamente, se basa en JSON
respuestas dinámicas . ¡El prefijo cambiará de una cadena a un objeto aleatoriamente en los métodos de éxito (...) y fracaso (...) !
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
}
En el código anterior, POJO TrackerRefResponse.java prefix responseMessage se establece en una cadena u objeto de tipo responseMessage, por lo que podemos crear el POJO con la variable ref con el mismo nombre (conceptos básicos de Java :)), así que estoy buscando la misma solución para la dinámica JSON
en Retrofit. Sé que este es un trabajo muy fácil en clientes http normales con tareas asíncronas, ¡pero no es la mejor práctica en el JSON
análisis REST-Api ! mirando los puntos de referencia de rendimiento siempre Volley o Retrofit es la mejor opción, ¡pero no he logrado manejar la dinámica JSON
!
Posible solución lo sé
Utilice la tarea asyc antigua con análisis de cliente http. :(
Intente convencer al desarrollador backend de RESTapi.
Cree un cliente de Retrofit personalizado :)