【问题标题】:how to access json Object from HTTP callback on Retrofit 2.0如何从 Retrofit 2.0 上的 HTTP 回调访问 json 对象
【发布时间】:2016-05-08 14:13:06
【问题描述】:

嗨,我正在使用改造来带回一个 java 对象, 我想根据响应中的一个字段更改文本字段 但我在网上找不到任何地方关于如何做到这一点,

这是我的改造界面:

public interface retrofitApi {

    String baseUrl = "http://192.168.137.1:3003/";

    @GET("api/radBox/getDegrees")
    Call<ResponseBody> getCallData();

    //Call<degreesModel> getCallData();


    class Factory {
        private static retrofitApi service;

        public static retrofitApi getInstance() {
            if (service == null) {
                Retrofit retrofit = new Retrofit.Builder()
                        .baseUrl(baseUrl)
                        .addConverterFactory(GsonConverterFactory.create())
                        .build();

                service = retrofit.create(retrofitApi.class);
                return service;
            } else {
                return service;
            }

        }
    }


}

这是我的回复:

 retrofitApi.Factory.getInstance().getCallData().enqueue(new Callback<ResponseBody>() {
            @Override
            public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {


//HERE I WANT TO DO RESPONSE.BODY.SOMEHING ?
//HERE I WANT TO DO RESPONSE.BODY.SOMEHING ?


 @Override
            public void onFailure(Call<ResponseBody> call, Throwable t) {
                Log.d("myLogs", "failed to Retrive Data");
                Log.d("myLogs", "becouse: "+t);
                largeTextVar.setText("failed: " + t);
            }
        });


    }

我的 json 看起来像这样:

{
  "data": {
    "sector": [
      [
        {
          "scanned": false,
          "sectorOne": "",
          "sectorTwo": "",
          "sectorThree": ""
        },
        {
          "scanned": false,
          "sectorOne": "",
          "sectorTwo": "",
          "sectorThree": ""
        }
      ]
    ]
  },
  "curserLocation": {
    "elevation": 30,
    "horizontal": 105
  }
}

如何从响应中访问我的 json 中的某个字段?

THNX 分配!!

【问题讨论】:

标签: android json android-studio retrofit retrofit2


【解决方案1】:

您应该定义一些类来访问您的字段。在您的情况下,将您的响应转换为适当的类并使用 getter 方法访问它们。 (你可以找到自动转换器here 但我建议你自己做)

this 网站也可以让您了解您的课程应该是怎样的。

【讨论】:

    猜你喜欢
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    相关资源
    最近更新 更多