Obtener una JSONException: fin de la entrada en el carácter 0

Tengo una API en php, que envía datos en formato JSON. Hice el siguiente código, que funciona bien cuando estoy en wifi. Pero cuando quiero descargar los datos de la API cuando estoy en 3g, recibo la siguiente excepción: JSONException: fin de la entrada en el carácter 0 de

No tengo idea de por qué funciona en wifi, pero no en Internet móvil. Mi código:

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); } } 

¿Alguien que pueda ayudarme?

Probablemente recibas una respuesta en blanco. No es nulo, pero la respuesta está vacía. Así que está obteniendo este error y no una excepción de Nullpointer

Puede ser que recibas una respuesta predeterminada con valores predeterminados. Este tipo de error aparece cuando no está enviando sus solicitudes correctamente o enviando con parámetros incorrectos. Verifique esto

Compruebe si está solicitando permisos para usar Internet.

   

en el Manifiesto de Android

Consulte otros en la descripción de permisos @ https://developer.android.com .

A veces, este error se debe a que la función de encoding json requiere que todos los datos entrantes estén codificados en UTF-8.

Intenta agregar mysqli_set_charset($con, 'utf8'); en tu php.

Este tipo de error aparece cuando la respuesta es nula.Imprimir Json responde en logcat

Log.e (“respuesta”, “” + respuesta), o puede verificar la respuesta en el cartero también.