2011-11-20 9 views
11

Estoy tratando de analizar json de Android, pero me sale esta extraña excepción. Mis datos JSON esorg.json.JSON Excepción: Fin de la entrada en el carácter 0

{ "id": "1", "dueño": "1", "name": "seriedad", "Descripción": "es un festival", "hora_inicial":" 0000-00-00 00:00:00 "," end_time ":" 0000-00-00 00:00:00 "," lugar ":" vellore "," radio ":" 10 "," lat ":" 11 "," lng ":" 11 "," tipo ":" tipo "," propietario ":" dilip "," noofpolls ": 0," noofquizes ": 0," peopleattending ": 0," result ": true }

y en Android hago

JSONObject j =new JSONObject(response); 
Event pst = gson.fromJson(j.toString(), Event.class); 

me sale:

org.json.JSONException: end of input at character 0 of 

¿Qué tiene de malo? Aquí está el código ...

RestClient client = new RestClient("http://192.168.1.3/services/events/"+eve.getName());   
     try { 
      Log.i("MY INFO", "calling boston"); 
      client.Execute(RequestMethod.POST); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

     String response = client.getResponse(); 
     Log.i("MY INFO", response); 
     GsonBuilder gsonb = new GsonBuilder(); 
     Gson gson = gsonb.create(); 
     Event pst = null; 

     try { 
      JSONObject j =new JSONObject(response); 
      pst = gson.fromJson(j.toString(), Event.class); 

     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

Respuesta

23

Ups! Lo malo es que se suponía que debía usar el método GET. Esa url no responde a las solicitudes POST, así que estaba obteniendo la excepción org.json.JSON: Fin de la entrada en el carácter 0.its debido a esto recibí una respuesta nula que generó esa excepción .

+0

Hola Rakon_188, también estoy teniendo el mismo problema ... pero lo estoy intentando de otra manera ... ¿pueden enviarme el código completo? – wolverine

+0

Tuve el mismo problema aquí, pero parece que tuve que cambiar el mío a POST en lugar de GET. Parece que este error se produce si simplemente tiene el error, por lo que es posible que deba simplemente cambiar su llamada. – Silmarilos

+0

gracias hombre: * ... –

-3

Aquí hay un fragmento sobre la forma de analizar el uso de GSON

Gson gson = new GsonBuilder().create(); 
    JsonParser jsonParser = new JsonParser(); 

    String response = client.getResponse(); 
    JsonObject jsonResp = jsonParser.parse(response).getAsJsonObject(); 
    // Important note: JsonObject is the one from GSON lib! 
    // now you build as you like e.g. 
    Event mEvent = gson.fromJson(jsonResp, Event.class); 

... 
+4

@ user3458711, no es bueno [vandalizar otras publicaciones] (http://stackoverflow.com/review/suggested-edits/4443671) con las que está compitiendo. – gunr2171

-3

Este error también se produce a veces porque la función json_encode requiere que todos los datos entrantes estén codificados en UTF-8.

Intente agregar mysqli_set_charset($con, 'utf8'); en su php.

0

En mi caso, me refería a un nombre función, que ni siquiera existía .. Compruebe el nombre de la función de su servicio web, después de corregir el nombre de la función, que trabajó para mí!

Cuestiones relacionadas