2017-05-25 97 views
0

我想創建包含特殊字符的cookie。我嘗試了很多解決方案,但它仍然一樣。這意味着它會自動刪除特殊字符後的值。在cookies中添加特殊字符,java

json = [{"message":"D10QAC"},{"message":"D10P;F"},{"message":"D10PAF"}]

Cookie cookie = new Cookie("cookie", json); 
cookie.setMaxAge(10000); 
response.addCookie(cookie); 

但是當存儲在cookie是像[{"message":"D10QAC"},{"message":"D10P;

我也嘗試用URLEncoder.encode(json, "UTF-8")到這個cookie進行解碼,但它也有同樣的問題。

任何幫助?提前致謝。

+0

您應該爲我們提供該json對象的類型以及您正在使用的框架。這個「Cookie」類從哪裏來? –

+0

'@ Johan.'我在春天框架中創建了cookie。 Cookie類來自'javax.servlet.http.Cookie' – rockroyal

+0

謝謝。 Cookie類採用String作爲json。您應該向我們展示生成該字符串的代碼和/或字符串的實際值。 –

回答

0

我會說這通常是不可能的,因爲;符號是HTTP標頭的轉義分隔符(也請看這個回答:https://stackoverflow.com/a/19028585/1479414)。

因此,最好的解決方案可能是將你的json編碼爲base64字符串並將其存儲在cookie值中。