Error parsing data org.json.JSONException: Value get_all_products.php of type java.lang.String cannot be converted to JSONObject
stwierdza, że nie masz prawidłowego ciągu json w odpowiedzi pochodzącej z usługi sieciowej. Z tego powodu jObj = isValidJson(json);
nie zwraca żadnego obiektu json.
W powyższym kodzie pod adresem
json = sb.toString();
Tworzysz String o nazwie json i przypisujesz do niego wartość obiektu konstruktora stringów. Ale ty logcat mówi, że nie otrzymujesz prawidłowego ciągu json w dolnej linii,
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
Więc zgłasza błąd dotyczący parsowania ciągu json. W takim przypadku musisz sprawdzić, czy w odpowiedzi otrzymasz poprawny ciąg json z serwera. Wprowadź kilka zmian w powyższym kodzie:
public boolean isValidJson(String test)
{
try {
new JSONObject(test);
return true;
} catch(JSONException ex) {
return false;
}
}
A w kodzie:
try {
if(isValidJson(json)
{
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
}