杰克逊创造饼干

时间:2014-09-26 21:36:21

标签: java json cookies jackson

我正在尝试使用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);

1 个答案:

答案 0 :(得分:1)

HTTP State Management Mechanism specification(处理Cookie)声明你不能在cookie的值中包含双引号字符,除非它包装整个内容。

不要(尝试)将JSON放入cookie中。