Como lidar com o JSON dinâmico no Retrofit?

Estou usando um retrofit eficiente de uma biblioteca de rede, mas não consegui lidar com o JSON dinâmico que contém prefixo únicoresponseMessage que muda paraobject aleatoriamente, o mesmo prefixo (responseMessage) muda para String em alguns casos (dinamicamente).

Formato Json Objeto de resposta

{
   "applicationType":"1",
   "responseMessage":{
      "surname":"Jhon",
      "forename":" taylor",
      "dob":"17081990",
      "refNo":"3394909238490F",
      "result":"Received"
   }

}

responseMessage O formato Json muda dinamicamente para o tipo string:

 {
       "applicationType":"4",
       "responseMessage":"Success"          
 }

O problema para mim é que o retrofit foi incorporadoJSON análise, temos que atribuir um único POJO por solicitação! infelizmente, a API REST é construída com dinâmicasJSON respostas, o prefixo muda para string para objeto aleatoriamente em ambossucesso(...) efalha(...) métodos!

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


}

No código acima, o prefixo POJO TrackerRefResponse.java responseMessage é definido como string ou objeto do tipo responseMessage, para que possamos criar o POJO com a variável ref com o mesmo nome (noções básicas de java :)), então estou procurando a mesma solução para dinâmicoJSON em Retrofit. Sei que esse é um trabalho muito fácil em clientes http normais com tarefa assíncrona, mas não é a melhor prática no REST-ApiJSON análise! olhando para o desempenhoBenchmarks sempre Volley ou Retrofit é a melhor escolha, mas não consigo lidar com dinâmicoJSON!

Possível solução que eu conheço

Use a tarefa assíncrona antiga com a análise do cliente http. :(

Tente convencer o desenvolvedor de back-end do RESTapi.

Crie um cliente Retrofit personalizado :)

questionAnswers(9)

yourAnswerToTheQuestion