2015-09-09 39 views
2

我得到一個來自android volley.JSON對象的POST請求我試圖讀取使用下面的代碼json。java restful web服務檢索發佈數據

@POST 
    @Path("/driver/insertTripLog") 
    @Consumes(MediaType.APPLICATION_JSON) 
    @Produces(MediaType.TEXT_PLAIN) 
    public String insertTripLog(InputStream incomingData) throws Exception 
    { 
     StringBuilder sb = new StringBuilder(); 
     try { 
      BufferedReader in = new BufferedReader(new InputStreamReader(incomingData)); 
      String line = null; 
      while ((line = in.readLine()) != null) { 
       sb.append(line); 
      } 
     } catch (Exception e) { 
      System.out.println("Error Parsing: - "); 
     } 
     String data=sb.toString(); 
     System.out.println("Data Received: " +data); 
    return data; 
} 

輸出我得到json對象,但特殊字符編碼爲%XX格式。

樣本輸出:

json=%5B%7B%22name%22%3A%22value%22%7D%5D 

如何正確地讀出從後凌空發送JSON數據。

回答

0

使用URLDecoder類來處理百分比編碼的內容,你所看到的:

String data = sb.toString(); 
data = java.net.URLDecoder.decode(data, "UTF-8"); 

輸出:

json=[{"name":"value"}] 
+0

輸出我不想顯示JSON = – venkat

+0

然後使用'data.substring(5)'去除前導文本'json ='。 –

+0

@ Tim Biegeleisen如果我想發送多個參數在從android凌亂的帖子請求我怎麼可以讀取多個參數在休息webservices – venkat