org.json.JSON异常:字符0处的输入结束

时间:2011-11-20 14:09:40

标签: android json

我正在尝试从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();
        }

4 个答案:

答案 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中。