Error parsing data org.json.JSONException: Value get_all_products.php of type java.lang.String cannot be converted to JSONObject
gibt an, dass Sie keine gültige JSON-Zeichenfolge in Ihrer Antwort vom Webdienst haben. Aus diesem Grund jObj = isValidJson(json);
gibt kein json-Objekt zurück.
In Ihrem obigen Code unter
json = sb.toString();
Sie erstellen einen String mit dem Namen json und weisen ihm einen String-Builder-Objektwert zu. Aber Ihr Logcat sagt, dass Sie in der unteren Zeile keine gültige JSON-Zeichenfolge erhalten,
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
Es wird also ein Fehler beim Analysieren von JSON-Strings ausgegeben. In diesem Fall müssen Sie prüfen, ob Sie vom Server eine gültige JSON-Zeichenfolge als Antwort erhalten. Nehmen Sie einige Änderungen im obigen Code vor:
public boolean isValidJson(String test)
{
try {
new JSONObject(test);
return true;
} catch(JSONException ex) {
return false;
}
}
Und in Ihrem Code:
try {
if(isValidJson(json)
{
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
}