Mysql
 sql >> Database >  >> RDS >> Mysql

Impossibile elencare i dati nella mia applicazione Android da Mysql

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

afferma che non hai una stringa json valida nella tua risposta proveniente dal servizio web. Per questo jObj = isValidJson(json); non restituisce alcun oggetto json.

Nel tuo codice sopra, a

json = sb.toString();

Stai creando una stringa denominata json e assegnagli il valore dell'oggetto del generatore di stringhe. Ma tu logcat dice che non stai ricevendo una stringa json valida nella riga sottostante,

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

Quindi genera un errore sull'analisi della stringa json. In questo caso devi verificare se in risposta hai ricevuto una stringa json valida dal server. Apporta alcune modifiche al codice sopra:

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

E, nel tuo codice:

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