2016-03-22 17 views
0

Ich schreibe eine Login-Funktion für meine Anwendung und ich habe plötzlich diesen Fehler bekommen: org.json.JSONException: Value Connection of type java.lang.String cannot be converted to JSONObject Ich erinnere mich nicht daran, den Code hier zu ändern überhaupt und es hat früher funktioniert. Es hat plötzlich aufgehört zu arbeiten, als ich begann, den Debug-Modus auf Android Studio zu verwenden. Hierorg.json.JSONException: Wert Verbindung vom Typ java.lang.String kann nicht in JSONObject konvertiert werden

ist ein Ausschnitt aus meinem Code, der Fehler auf den 2 Linien markiert zu sein scheint, mit/* ERROR * /:

private String loginUrl = "http://10.0.2.2/user/login.php";

login.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      request = new StringRequest(Request.Method.POST, loginUrl, new Response.Listener<String>() /*ERROR*/ { 
       @Override 
       public void onResponse(String response) { 
        try { 
         JSONObject jsonObject = new JSONObject(response); /*ERROR*/ 
         if (jsonObject.names().get(0).equals("success")) { 
          Toast.makeText(getApplicationContext(), jsonObject.getString("success"), Toast.LENGTH_SHORT).show(); 
          email.setText(""); 
          password.setText(""); 
          Log.d("test", "Going to Main.class"); 
          startActivity(new Intent(MainActivity.this, Main.class)); 
          //setContentView(R.layout.activity_main); 
         } else { 
          Toast.makeText(getApplicationContext(), jsonObject.getString("error"), Toast.LENGTH_SHORT).show(); 
         } 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
       } 
      }) { 
       @Override 
       protected Map<String, String> getParams() throws AuthFailureError { 
        Map<String, String> parameters = new HashMap<String, String>(); 
        parameters.put("email", email.getText().toString()); 
        parameters.put("password", password.getText().toString()); 
        return parameters; 
       } 
      }; 
      requestQueue.add(request); 
     } 
    }); 
+0

Was ist der Wert von 'response'? –

Antwort

0

Es ist wie scheint, dass das response Objekt nicht richtig formatiert, um in ein JSON-Objekt konvertiert zu werden. Example.

+0

Yup Ich muss etwas getan haben, während jemand die php-Datei zeigt. –

0

org.json.JSONObject(String json) Erstellt einen neuen JSONObject mit Name/Wert-Mappings aus der JSON-Zeichenfolge.

Diese Ausnahme bedeutet, dass Ihre response Parameter keine gültige JSON enthalten

Verwandte Themen