相关疑难解决方法(0)

如何在Retrofit中处理Dynamic JSON?

我正在使用高效的网络库改造,但是我无法处理包含单个前缀的Dynamic JSON, responseMessage后者object随机responseMessage变化,在某些情况下(动态),相同的prefix()会更改为String.

Json格式responseMessage的对象:

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

}
Run Code Online (Sandbox Code Playgroud)

responseMessage Json格式动态更改为类型字符串:

 {
       "applicationType":"4",
       "responseMessage":"Success"          
 }
Run Code Online (Sandbox Code Playgroud)

对我来说问题是因为改造有内置的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();
                }


            });
}
Run Code Online (Sandbox Code Playgroud)

POJO: …

android json gson retrofit

75
推荐指数
6
解决办法
5万
查看次数

标签 统计

android ×1

gson ×1

json ×1

retrofit ×1