2010-04-15 114 views
2

我想創建一個基於REST的Web服務,並使用JSON封裝數據。我的問題是,當我在URI中傳遞字符串版本的JSON時,它會變成如下所示:%7B%22coal%22:100,%22ele%22:1500.1%7D。通過URI傳遞JSON

我想知道是否有任何函數Java之間轉換轉義和非轉義版本,所以我可以解析字符串。

回答

1

您應該在請求正文中發送任何內容。只在URI中發送查詢參數。

1

那將是URLDecoder。但是除非你做錯了什麼,否則你不應該使用它,因爲Servlet API中的方法一般會返回已經解碼過的字符串。

0

你不應該解碼URL轉義的文本,Web服務器是由它自己做的,它應該是完全透明的。

正如一些人已經指出使用URLDecode反轉義URL字符串

如果你的代碼的某些時候,你手動轉義JSON字符串這可能是問題作爲其得到編碼的2倍。

0

您的參數是平的(沒有列表/對象/等)。

  • 對於HTTP GET請求,嘗試通過數據查詢參數,而不是編碼的JSON
  • 對於HTTP POST請求,你不會有一個編碼問題JSON