我正在尝试使用jackson库以JSON格式创建cookie .Below是代码。 问题是当我在浏览器中查看cookie值时,我看到了 “{\”name \“:\”D \“}”而不是{“name”:“D”}。我尝试使用JsonFactory设置自定义CharacterEscapes并设置esc ['“'] = CharacterEscapes.ESCAPE_NONE但是没有工作。任何帮助将不胜感激? BTW我使用Tomcat容器进行部署,cookiesContent是一个地图。
ObjectMapper om = new ObjectMapper();
om.getFactory().setCharacterEscapes(custom());
Cookie cookie = new Cookie("name", objectMapper.writeValueAsString(cookiesContent));
cookie.setDomain(domain);
cookie.setPath("/");
cookie.setMaxAge(Integer.MAX_VALUE);
cookie.setSecure(false);
response.addCookie(cookie);
答案 0 :(得分:1)
HTTP State Management Mechanism specification(处理Cookie)声明你不能在cookie的值中包含双引号字符,除非它包装整个内容。
不要(尝试)将JSON放入cookie中。