org.json.JSONexception:字符0处的input结束

我试图parsing来自android的json,但我得到这个奇怪的例外。 我的JSON数据是

{“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”,“场地”:“vellore”,“radius”:“10”,“lat”:“11”,“lng”:“11” “types”: “types”, “OWNERNAME”: “迪利普”, “noofpolls”:0 “noofquizes”:0 “peopleattending”:0 “结果是”:真}

并在Android我做的

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

我得到:

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

它出什么问题了? 这里是代码…

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

哎呀! 我不好,我本来应该使用GET方法。这个url不响应POST请求,所以我得到了org.json.JSONexception:在字符0.its的input结束,因为这我得到空响应,它产生的exception。

在我的情况下,我指的是一个函数的名字 ,甚至不存在..检查你的web服务的函数名称,纠正后的函数名称,它为我工作!

这里是如何parsing使用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 eg Event mEvent = gson.fromJson(jsonResp, Event.class); ... 

这个错误也是由于json_encode函数需要所有传入的数据是UTF-8编码而引起的。

尝试添加mysqli_set_charset($con, 'utf8'); 进入你的PHP。