我正在尝试从android解析json,但我得到了这个奇怪的异常。我的json数据是
{“id”:“1”,“owner”:“1”,“name”:“gravitas”,“description”:“is fest”,“start_time”:“0000-00-00 00: 00:00“,”end_time“:”0000-00-00 00:00:00“,”场地“:”vellore“,”radius“:”10“,”lat“:”11“,”lng“: “11”,“type”:“type”,“ownername”:“dilip”,“noofpolls”:0,“noofquizes”:0,“peopleattending”:0,“result”:true}
在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();
}
答案 0 :(得分:23)
糟糕!我的坏我本来应该使用GET方法。这个url没有响应POST请求所以我得到了org.json.JSON异常:字符0的输入结束。因为这个我得到了null响应,它产生了异常
答案 1 :(得分:0)
在我的情况下,我指的是功能名称,它甚至不存在..在更正后检查网络服务的功能名称功能名称,它对我有用!
答案 2 :(得分:-3)
这里有一个关于如何使用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);
...
答案 3 :(得分:-3)
由于json_encode
函数需要对所有传入数据进行UTF-8
编码,因此有时也会导致此错误。
尝试将mysqli_set_charset($con, 'utf8');
添加到您的php中。