sql >> Databasteknik >  >> RDS >> Mysql

Kan inte lista data i min Android-applikation från Mysql

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

anger att du inte har en giltig json-sträng i ditt svar som kommer från webbtjänsten. På grund av detta jObj = isValidJson(json); returnerar inget json-objekt.

I koden ovan, på

json = sb.toString();

Du skapar en sträng som heter json och tilldelar strängbyggarens objektvärde till den. Men din logcat säger att du inte går med en giltig json-sträng under raden,

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

Så det ger ett fel om att analysera json-strängen. I det här fallet måste du kontrollera om du skickar en giltig json-sträng från servern som svar. Gör några ändringar i ovanstående kod:

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

Och i din kod:

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



  1. MySQL-replikering och utlösare

  2. Hur man skriver en parameteriserad SQL-fråga i javascript?

  3. Få extra rader - Efter att ha sammanfogat de 3 borden med Left Join

  4. Hur tar man bort en viss rad från mysql-tabellen med samma kolumnvärden?