Reputation: 573
I'm trying to parse json from android but I get this strange exception. My json data is
{"id":"1","owner":"1","name":"gravitas","description":"is a fest","start_time":"0000-00-00 00:00:00","end_time":"0000-00-00 00:00:00","venue":"vellore","radius":"10","lat":"11","lng":"11","type":"type","ownername":"dilip","noofpolls":0,"noofquizes":0,"peopleattending":0,"result":true}
and in android I do
JSONObject j =new JSONObject(response);
Event pst = gson.fromJson(j.toString(), Event.class);
I get:
org.json.JSONException: end of input at character 0 of
What's wrong with it? Here is the code...
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();
}
Upvotes: 11
Views: 51535
Reputation: 229
In my case, i was referring to a function name, that didn't even exist.. Check the function name of your web service, after correcting the function name, it worked for me !
Upvotes: 0
Reputation: 573
Oops! my bad I was supposed to use GET method.that url doesn't respond to POST requests so I was getting the org.json.JSON Exception : End of input at character 0.its because of this I got null response which generated that exception.
Upvotes: 23
Reputation: 189
This error is also caused sometimes as json_encode
function requires all incoming data to be UTF-8
encoded.
Try adding mysqli_set_charset($con, 'utf8');
into your php.
Upvotes: -3
Reputation: 9755
here is a snippet on how to parse using 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);
...
Upvotes: -3