Error parsing data org.json.JSONException: Value get_all_products.php of type java.lang.String cannot be converted to JSONObject
afirma que você não tem uma string json válida em sua resposta proveniente do serviço da web. Por causa disso
jObj = isValidJson(json);
não retorna nenhum objeto json. No seu código acima, em
json = sb.toString();
Você está criando String nomeado como json e atribui o valor do objeto construtor de string a ele. Mas você logcat diz que você não está obtendo uma string json válida na linha abaixo,
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
Portanto, lança um erro sobre a análise da string json. Nesse caso, você deve verificar se obteve uma string json válida do servidor em resposta. Faça algumas alterações no código acima:
public boolean isValidJson(String test)
{
try {
new JSONObject(test);
return true;
} catch(JSONException ex) {
return false;
}
}
E, no seu código:
try {
if(isValidJson(json)
{
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
}