2011-11-20 140 views
11

我想從android解析json,但我得到這個奇怪的異常。我的JSON數據是org.json.JSON異常:字符0輸入結束

{ 「ID」: 「1」, 「主人」: 「1」, 「名」: 「莊嚴」, 「說明」: 「是一個巨星」, 「START_TIME」:」 「00:00:00」,「end_time」:「0000-00-00 00:00:00」,「venue」:「vellore」,「radius」:「10」,「lat」:「 11" , 「LNG」: 「11」, 「類型」: 「類型」, 「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(); 
     } 

回答

23

哎呀解析一個片段!我的壞我本來應該使用GET方法。該網址不響應POST請求,所以我得到了org.json.JSON異常:在字符0.its輸入結束,因爲這我得到空響應,它產生的異常。

+0

嗨Rakon_188,我也得到了同樣的問題..但我試着用不同的方式..你可以請給我完整的代碼.. – wolverine

+0

在這裏有同樣的問題,但它看起來像我不得不切換我的POST而不是GET。看起來像這個錯誤被拋出,如果你只是錯了,所以你可能需要簡單地切換你的電話。 – Silmarilos

+0

謝謝男人:* ... –

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

... 
+4

@ user3458711,這是不好[你破壞其他帖子](http://stackoverflow.com/review/suggested-edits/4443671),你正在與之競爭。 – gunr2171

-3

此錯誤也有時會導致json_encode函數要求所有傳入數據編碼爲UTF-8

嘗試在您的php中添加mysqli_set_charset($con, 'utf8');

0

就我而言,我指的是一個函數名,甚至不存在。檢查您的Web服務的函數名,糾正函數名後,它爲我工作!

相關問題