是否可以在不在 Retrofit2 中创建 CallAdapter 的情况下解析 json

Is it possible to parse json without creating CallAdapter in Retrofit2

我在我的项目中使用了 retrofit2,我需要将一些 json 答案解析为自定义对象。所以我创建了反序列化器并在 GsonBuilder

中调用它
private final Gson _gson = new GsonBuilder()
    .registerTypeAdapter(DaysList.class, new DaysDeserializer())
    .create();

之后我定义了Retrofit

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl(_activity.getString(R.string.config_api_url))
    .addConverterFactory(GsonConverterFactory.create(_gson))
    .build();

但有定义的改造服务

Call<DaysList> retrofitHolidaysRequest()

我遇到了一个例外。之后我将方法签名更改为服务方法,它变成了:

DaysList retrofitHolidaysRequest()

我还向 Retrofit.Builder 添加了我自己的 CallAdapter.Factory,一切都按我的需要工作:

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl(_activity.getString(R.string.config_api_url))
    .addConverterFactory(GsonConverterFactory.create(_gson))
    .addCallAdapterFactory(new ResponseCallAdapterFactory())
    .build();

所以问题是:是否可以在不定义自己的 CallAdapter 的情况下创建自己的反序列化器?如果可能那我做错了什么?

就像在中提到的一样,我需要使用 RxJavaCallAdapterFactory。我不清楚为什么,因为我不使用 RxJava,但它运行良好