Неизвестное исключение JSONException: значение типа java.lang.String не зарегистрировано. Невозможно преобразовать в JSONObject
Я отправляю учетные данные Wi-Fi на сервер ESP32 из своего приложения для Android с помощью JSONrequest. Я могу получить запрос на сервере ESP32, но после отправки ответа я снова получаю VolleyError. Больше нигде не могу найти эту ошибку.
org.json.JSONException: Value Deregistered of type java.lang.String cannot be converted to JSONObject
Вот мой код:
JSONObject jsonBody = new JSONObject();
jsonBody.put("ssid", ssid);
jsonBody.put("password", password);
jsonBody.put("fbtoken", FirebaseInstanceId.getInstance().getToken());
jsonBody.put("uid", anonUser.getUid());
Log.d("WifiCredential", "Post: "+jsonBody.toString());
JsonObjectRequest credetialPost = new JsonObjectRequest
(Request.Method.POST, URL, jsonBody, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
boolean connected = response.getBoolean("connected");
if (connected){
debugRef.child("CredSend").child("Connected").setValue(true);
LAN_IP = response.getString("ip");
Log.d("WifiCredential", "Connected: "+LAN_IP);
Toast.makeText(MainActivity.this,"LAN Connected",Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
Log.d("WifiCredential", "JSON Error: " + e.getMessage());
Log.d("WifiCredential", "Response: "+response);
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// TODO: Handle error
Log.d("WifiCredential", "Error Last: "+Objects.requireNonNull(error.getMessage()));
}
});
credetialPost.setRetryPolicy(new DefaultRetryPolicy(
10000,
1,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(credetialPost);
я отправляю
server.send(200, "application/json", "{\"connected\":\"True\"}");
из ESP32.