Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann die Daten in meiner Android-Anwendung von Mysql nicht auflisten

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

gibt an, dass Sie keine gültige JSON-Zeichenfolge in Ihrer Antwort vom Webdienst haben. Aus diesem Grund jObj = isValidJson(json); gibt kein json-Objekt zurück.

In Ihrem obigen Code unter

json = sb.toString();

Sie erstellen einen String mit dem Namen json und weisen ihm einen String-Builder-Objektwert zu. Aber Ihr Logcat sagt, dass Sie in der unteren Zeile keine gültige JSON-Zeichenfolge erhalten,

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

Es wird also ein Fehler beim Analysieren von JSON-Strings ausgegeben. In diesem Fall müssen Sie prüfen, ob Sie vom Server eine gültige JSON-Zeichenfolge als Antwort erhalten. Nehmen Sie einige Änderungen im obigen Code vor:

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

Und in Ihrem Code:

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