sql >> Base de Datos >  >> RDS >> Mysql

No puedo listar los datos en mi aplicación de Android desde Mysql

Error parsing data org.json.JSONException: Value get_all_products.php of type java.lang.String cannot be converted to JSONObject

indica que no tiene una cadena json válida en su respuesta proveniente del servicio web. Debido a esto jObj = isValidJson(json); no devuelve ningún objeto json.

En su código anterior, en

json = sb.toString();

Está creando una cadena denominada json y le asigna un valor de objeto de generador de cadenas. Pero logcat dice que no está obteniendo una cadena json válida en la línea de abajo,

try {
                        jObj = new JSONObject(json);
                    } catch (JSONException e) {
                        Log.e("JSON Parser", "Error parsing data " + e.toString());
                    }

Entonces arroja un error sobre el análisis de la cadena json. En este caso, debe verificar si obtiene una cadena json válida del servidor en respuesta. Haz algunos cambios en el código anterior:

public boolean isValidJson(String test)
{
    try {
        new JSONObject(test);
        return true;
    } catch(JSONException ex) { 
        return false;
    }
}

Y, en tu código:

try {
       if(isValidJson(json)
    {
      jObj = new JSONObject(json);
    } catch (JSONException e) {
              Log.e("JSON Parser", "Error parsing data " + e.toString());
          }
    }