Need help on android. Been having this error Error beim Parsen von Daten org.json.JSONException: Wert des Typs java.lang.String kann nicht in JSONObject konvertiert werden
Unten ist die Seite, die mir den Fehler gibt, wenn ich sie ausführe.
public class Login extends Activity {
//URL um Benutzerdaten abzurufen
private static String URL_GET = "http://10.0.2.2/android_connect/get_authentication.php";
// JSON-Knotennamen
private static final String TAG_SUCCESS = "success";
private static final String TAG_USERS = "Users";
private static final String TAG_EMAIL = "Email";
private static final String TAG_PASSWORD = "Password";
JSON-Parser jParser = new JSONParser();
String dbPassword = null;
// Benutzer-JSONArray
JSONArray Users = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Standardbildschirm auf login.xml setzen
setContentView(R.layout.login);
Button btn = (Button) findViewById(R.id.btnLogin);
// Auf das Registrieren eines neuen Kontos hören
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String password = ((EditText) findViewById(R.id.password)).getText().toString();
new getAuthentication().execute();
if (password.equals(dbPassword)) {
// Wechseln zum Hauptbildschirm
Intent i = new Intent(getApplicationContext(), EchoSphere.class);
startActivity(i);
}
}
});
}
class getAuthentication extends AsyncTask{
@Override
protected String doInBackground(String... params) {
runOnUiThread(new Runnable() {
public void run() {
// Überprüfen auf Erfolgsmarkierung
int success;
try {
String email = ((EditText) findViewById(R.id.email)).getText().toString();
Log.d("email:", email);
List params = new ArrayList();
params.add(new BasicNameValuePair(TAG_EMAIL, email));
JSONObject json = jParser.makeHttpRequest(URL_GET, "GET", params);
Log.d("Password:", json.toString());
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
Users = json.getJSONArray(TAG_USERS);
JSONObject c = Users.getJSONObject(0);
dbPassword = c.getString(TAG_PASSWORD);
Log.d("DBPW:", dbPassword);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
return null;
}
}
}
Dies ist das PHP-Skript, ich habe das PHP validiert und es scheint zu funktionieren.
0) {
$result = mysql_fetch_array($result);
$user[] = array();
$user["Email"] = $result["Email"];
$user["Password"] = $result["Password"];
// Benutzerknoten
$response["Users"] = array();
array_push($response["Users"], $user);
// Erfolg
$response["success"] = 1;
// JSON-Antwort ausgeben
echo json_encode($response);
} else {
// Kein Produkt gefunden
$response["success"] = 0;
$response["message"] = "Kein Benutzer gefunden";
// Keine Benutzer-JSON-Antwort ausgeben
echo json_encode($response);
}
} else {
// Kein Produkt gefunden
$response["success"] = 0;
$response["message"] = "Kein Benutzer gefunden";
// Keine Benutzer-JSON-Antwort ausgeben
echo json_encode($response);
}
} else {
// Erforderliches Feld fehlt
$response["success"] = 0;
$response["message"] = "Erforderliche Felder fehlen";
// JSON-Antwort ausgeben
echo json_encode($response);
}
?>
Die Ergebnisse sind wie folgt
{"Users":[{"0":[],"Email":"1","Password":"123"}],"success":1}
Ich weiß nicht, wo der Fehler liegt.