如何使用 Retrofit 获取 JSON 对象?
How to get JSON object using Retrofit?
我正在尝试使用 Retrofit 阅读此 JSON,但我收到此错误 Could not locate ResponseBody converter for class org.json.JSONObject.
ALE2文件中的JSON
{
"a1":[...],
"a2":[...],
"a3":[...]
}
代码
Retrofit retrofit = new Retrofit.Builder().baseUrl(Constants.BASE_URL).build();
retrofit.create(RetrofitInterface.class).getData().enqueue(new Callback < JSONObject > () {
@Override
public void onResponse(Call < JSONObject > call, Response < JSONObject > response) {
}
@Override
public void onFailure(Call < JSONObject > call, Throwable t) {
}
});
RetrofitInterface
public interface RetrofitInterface {
@GET("ALE2")
Call<JSONObject> getData();
}
我不想将它们存储在任何模型中我只想将 JSON 作为字符串
您的界面应如下所示:
public interface RetrofitInterface {
@GET("ALE2")
Call<ResponseBody> getData();
}
要获取原始 json 对象 return 类型应为 Call<ResponseBody>
一旦响应完成,您就可以像下面这样处理它:
retrofit.create(RetrofitInterface.class).getData().enqueue(new Callback<ResponseBody> () {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
String responseBody = response.body().string();
JSONObject json = new JSONObject(responseBody);
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
这是在 JSON 对象中设置字符串的方法。
我正在尝试使用 Retrofit 阅读此 JSON,但我收到此错误 Could not locate ResponseBody converter for class org.json.JSONObject.
ALE2文件中的JSON
{
"a1":[...],
"a2":[...],
"a3":[...]
}
代码
Retrofit retrofit = new Retrofit.Builder().baseUrl(Constants.BASE_URL).build();
retrofit.create(RetrofitInterface.class).getData().enqueue(new Callback < JSONObject > () {
@Override
public void onResponse(Call < JSONObject > call, Response < JSONObject > response) {
}
@Override
public void onFailure(Call < JSONObject > call, Throwable t) {
}
});
RetrofitInterface
public interface RetrofitInterface {
@GET("ALE2")
Call<JSONObject> getData();
}
我不想将它们存储在任何模型中我只想将 JSON 作为字符串
您的界面应如下所示:
public interface RetrofitInterface {
@GET("ALE2")
Call<ResponseBody> getData();
}
要获取原始 json 对象 return 类型应为 Call<ResponseBody>
一旦响应完成,您就可以像下面这样处理它:
retrofit.create(RetrofitInterface.class).getData().enqueue(new Callback<ResponseBody> () {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
String responseBody = response.body().string();
JSONObject json = new JSONObject(responseBody);
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
这是在 JSON 对象中设置字符串的方法。