Я создаю android приложение и мне нужно вызвать API с сервера для проверки статуса. Но я получаю org.json.JSONException: End of input at character 0 of
. Я не могу понять, что не так. Но если я использую volley
вместо retrofit
, это работает. если я использую retrofit
, я получаю эту ошибку.
Активность
ApiInterface apiService =
ApiClient.getClient().create(ApiInterface.class);
HashMap<String, String> params = new HashMap<>();
params.put("rt", "fcf9e4cb63f014c309f3160d5d8b1b13");
Call<ResponseBody> mService = apiService.getData(params);
mService.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> API) {
if (API.isSuccessful()) {
try {
String data = API.body().string();
JSONObject object = new JSONObject(data);
status = object.getString("status");
Log.d("athira status:",status);
JSONArray array = object.getJSONArray("position");
for (int i = 0; i < array.length(); i++) {
val.add(array.getString(i));
}
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
rv.setAdapter(new RecyclerPredictionAdapter(gridViewArray, status, val, new RecyclerPredictionAdapter.OnItemClickListener() {
@Override
public void onItemClick(int position) {
GridViewClick(position);
}
}));
}
});
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
API
@POST(".")
Call<ResponseBody> getData(@Body HashMap<String, String> user);
Ошибка
org.json.JSONException: End of input at character 0 of
2020-01-27 12:18:40.050 7014-7014/com.clickastro.dailyhoroscope W/System.err: at
org.json.JSONTokener.syntaxError(JSONTokener.java:449)
2020-01-27 12:18:40.050 7014-7014/com.clickastro.dailyhoroscope W/System.err: at
org.json.JSONTokener.nextValue(JSONTokener.java:97)
2020-01-27 12:18:40.050 7014-7014/com.clickastro.dailyhoroscope W/System.err: at
org.json.JSONObject.<init>(JSONObject.java:159)
2020-01-27 12:18:40.050 7014-7014/com.clickastro.dailyhoroscope W/System.err: at
org.json.JSONObject.<init>(JSONObject.java:176)
2020-01-27 12:18:40.050 7014-7014/com.clickastro.dailyhoroscope W/System.err: at
com.clickastro.dailyhoroscope.fragments.PredictionFragment$2.onResponse(PredictionFragment.java:265)
2020-01-27 12:18:40.050 7014-7014/com.clickastro.dailyhoroscope W/System.err: at
retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run
(ExecutorCallAdapterFactory.java:70)
2020-01-27 12:18:40.050 7014-7014/com.clickastro.dailyhoroscope W/System.err: at
android.os.Handler.handleCallback(Handler.java:873)
2020-01-27 12:18:40.050 7014-7014/com.clickastro.dailyhoroscope W/System.err: at
android.os.Handler.dispatchMessage(Handler.java:99)
Результат
{
"status": "ON",
"position": [
"4"
]
}