Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible de répertorier les données dans mon application Android à partir de Mysql

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

indique que vous n'avez pas de chaîne json valide dans votre réponse provenant du service Web. A cause de cela jObj = isValidJson(json); ne renvoie aucun objet json.

Dans votre code ci-dessus, à

json = sb.toString();

Vous créez une chaîne nommée json et lui attribuez une valeur d'objet de générateur de chaîne. Mais votre logcat dit que vous n'obtenez pas de chaîne json valide à la ligne ci-dessous,

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

Donc, il génère une erreur sur l'analyse de la chaîne json. Dans ce cas, vous devez vérifier si vous obtenez une chaîne json valide du serveur en réponse. Apportez quelques modifications au code ci-dessus :

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

Et, dans votre code :

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