今天遇到了一种应用情况,就是页面向后台action传递了一个json字符串,需要在这个action java类中,将json字符串转换成java的Map对象。
不是因为有意要转换成map对象,而是页面转过来的json字符串,本身就是键值对的形式,所以用java的Map处理,更好取值操作。
在这个转换过程中,要用到以下这些struts2 lib中的jar包:
1.commons-lang.jar
2.commons-beanutils.jar
3.commons-collections.jar
4.commons-logging.jar
5.ezmorph.jar
6.json-lib-2.2.2-jdk15.jar
其中,我们主要用的的是json-lib-2.2.2-jdk15.jar这个包中的JSONObject类,其它4个jar包都是json-lib-2.2.2-jdk15.jar的依赖包。
当我们引入这些jar包到lib目录后,就可以在action的执行方法中进行数据转换了
现假如:senddata是从页面上传来的json数据,里面包含了name这个key则:
JSONObject jasonObject = JSONObject.fromObject(senddata);
Map map = (Map)jasonObject;
System.out.println(map.get("name")); // 这里就可以取得页面传来的name键的值了。