Home » Android » android – Getting a JSONException: end of input at character 0

android – Getting a JSONException: end of input at character 0

Posted by: admin May 14, 2020 Leave a comment

Questions:

I have an API in php, that sends data in JSON format.
I made the following code, that works fine when I am on wifi.
But when I want to download the data from the API when I am on 3g, I receive the following exception:
JSONException: End of input at character 0 of

I have no idea why it does work on wifi, but it doesn’t on mobile internet.
My code:

        JSONObject json = getJSONfromURL("http://api.myurl.com/users.json");

        JSONArray objects = json.getJSONArray("objects");
        db.setLockingEnabled(false);
        db.beginTransaction();

        for (int i = 0; i < objects.length(); i++) {
            JSONObject e = objects.getJSONObject(i);

            if(e.getString("UID") != "-1"){
                ContentValues values = new ContentValues();
                //DO DATABASE INSERT. REMOVED THIS CODE FOR READABILITY
                alldata_mProgressDialog.incrementProgressBy(1);
            }
        }

Anyone that can help me out?

How to&Answers:

You are probably getting a blank response. Its not null but the response is empty. So you are getting this error and not a Nullpointer exception

Answer:

Check if you are asking for permissions to use the Internet.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

in the Android Manifest

Check out others at Permissions overview @ https://developer.android.com.

Answer:

May be you are getting default response with default values. This kind of error comes up when you are not sending your requests properly or sending with wrong parameters. Check This

Answer:

Sometimes this error is caused as json encode function requires all incoming data to be UTF-8 encoded.

Try adding mysqli_set_charset($con, 'utf8'); into your php.

Answer:

This kind of error comes up when response is null.Print Json respone in logcat

Log.e ( “response”, “” + response ), or you can check response on postman also.

Answer:

I got this error while debugging an android app on Android Studio via USB. Connection attempts failed with one tablet but not with my regular test tablet. It turned out that the failure was due to the fact that I hadn’t enabled WIFI settings on the failing machine. So I enabled WIFI on it and it connected to server OK.