Android 如何在改型2.0.0 beta 1中获得简单的JSON对象?

Android 如何在改型2.0.0 beta 1中获得简单的JSON对象?,android,json,retrofit,Android,Json,Retrofit,我试图转换这个简单的回答,看起来像这样 { "field_one": "bearer", "field_two": "fgh", "field_three": 0 } 我使用的是翻新2.0.0-beta1的最新版本。我以前从未使用过改装。有许多教程和旧版本改装的示例。我尝试了不同的技术,适用于旧版本,但不适用于最新版本。由于缺乏最新版本的改装文档,我无法找到解决方案 我想用最新的版本 这是波乔 public class Auth { @SerializedName("fie

我试图转换这个简单的回答,看起来像这样

{
  "field_one": "bearer",
  "field_two": "fgh",
  "field_three": 0
}
我使用的是翻新2.0.0-beta1的最新版本。我以前从未使用过改装。有许多教程和旧版本改装的示例。我尝试了不同的技术,适用于旧版本,但不适用于最新版本。由于缺乏最新版本的改装文档,我无法找到解决方案

我想用最新的版本

这是波乔

public class Auth {
    @SerializedName("field_one")
    @Expose
    private String fieldOne;

    @SerializedName("field_two")
    @Expose
    private String fieldTwo;

    @SerializedName("field_three")
    @Expose
    private Integer fieldThree;

    // setter and getter etc. etc. 
}
这是我正在使用的接口

interface Authorization {
   @Headers("Authorization: This is some header")
   @GET("api/v1/mytoken")
   Call<Auth> getToken();
}
我想在Auth对象中获取数据,以便以后使用

请给我推荐最好的解决方案


谢谢

我猜您没有看到您希望看到您的对象打印在这一行--

这将调用响应上的
toString
方法。如果要在反序列化对象上调用它,请先调用该方法--


你有什么问题?你收到编译器消息了吗?运行时错误?没有错误。我更新了问题我得到了什么输出和我想要什么使用响应。toStirng()我得到了
response:>>>改型。Response@2567e2c3
但是当我使用response.body().toString()时,我得到的是NullPointerException,我也尝试了response.raw().toString()现在我得到的是这个响应{protocol=http/1.1,code=404,message=notfound,url=}这很有帮助——404没有找到,所以你没有调用正确的端点。是的,你的调用有问题,导致你得到404。查看我的编辑以避免NPE。如果需要错误响应的文本,也可以在响应上调用
errorBody()
,但这可能只是我在[link]()中的文档中给出的标题“not found”的一些变体。我还尝试在拦截器中提供标题。但同样的404反应
  OkHttpClient client = new OkHttpClient();

  Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("https://myendpoint.com/")
            .client(client)
             .addConverterFactory(GsonConverterFactory.create())
            .build();

    Authorization serviceAuthorization = retrofit.create(Authorization.class);
    serviceAuthorization.getToken().enqueue(new Callback<Auth>() {
        @Override
        public void onResponse(Response<Auth> response) {
            Log.d("Response", ">>> "+ response.toString());
        }

        @Override
        public void onFailure(Throwable t) {
            Log.d("fail", ">>> "+ t.getMessage());
        }
    });
Response: >>> retrofit.Response@2567e2c3
Log.d("Response", ">>> "+ response.toString());
if(response.isSuccess()) {
    Log.d("Response", ">>> "+ response.body().toString());
} else {
    Log.d("Response", "Error - " + response.code())
}