map和json之间的转换

AAction中在session中存放了一个map<String,Object>,跳转到a.jsp,a.jsp通过form提交到BAction,BAction可从session中获得map值。

但是由于session是存放在tomcat的memcached中的,存放大对象会影响用户使用,同时,如果将map放到request中,通过hidden传递,页面之间传递map有问题。

故想到一个解决方案是将map转为json,存储到request中,a.jsp中写入hidden,最后在BAction中获取json,转为map即可

 

    map转为json的方式为:

 

JSONObject jsonObject = JSONObject.fromMap(productMap);

    或

    JSONObject jsonObject = JSONObject.fromObject(productMap);

 

    json转为map的方式为:

    String json = request.getPrarameter("product");//从hidden里面获得json串

ObjectMapper mapper = new ObjectMapper();
Map<String,Object> productMap = mapper.readValue(json);//转成map

你可能感兴趣的:(json)