Error parsing data org.json.JSONException: Value get_all_products.php of type java.lang.String cannot be converted to JSONObject
uvádí, že ve své odpovědi pocházející z webové služby nemáte platný řetězec json. Kvůli tomu jObj = isValidJson(json);
nevrací žádný objekt json.
Ve výše uvedeném kódu na adrese
json = sb.toString();
Vytváříte řetězec pojmenovaný jako json a přiřazujete mu hodnotu objektu pro tvorbu řetězců. Ale vy logcat říká, že nedostáváte platný řetězec json pod řádkem,
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
Takže to vyvolá chybu o analýze řetězce json. V tomto případě musíte zkontrolovat, zda v odpovědi odešlete ze serveru platný řetězec json. Proveďte nějaké změny ve výše uvedeném kódu:
public boolean isValidJson(String test)
{
try {
new JSONObject(test);
return true;
} catch(JSONException ex) {
return false;
}
}
A ve vašem kódu:
try {
if(isValidJson(json)
{
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
}