json转map方法 Map<String,CityPo> map = new HashMap<String,CityPo>(); CityPo po = new CityPo(); po.setBuildCfgID(123); po.setCurHp(456); Hero hero = new Hero(); hero.setStrAge("11"); hero.setStrName("strName"); po.setHero(hero); map.put( "name",po); JSONObject json = JSONObject.fromObject( map ); //将map转成json Map tmp = (Map)JSONObject.toBean(json, Map.class); //将json转回map 可是转回的map是Map<String,Object>的,有没有办法转成Map<String, CityPo> ps: Map tmp = (Map)JSONObject.toBean(json, Map.class); 其中的Map.class为何不让设Map<String,CityPo>.class? ------解决方案-------------------------------------------------------- Java codeCityPo po = new CityPo(); po.setBuildCfgID(123); po.setCurHp(456); Hero hero = new Hero(); hero.setStrAge("11"); hero.setStrName("strName"); po.setHero(hero); map.put("name", po); JSONObject json = JSONObject.fromObject(po); // 将map转成json CityPo poo = (CityPo) JSONObject.toBean(json, CityPo.class); System.out.println(poo); ------解决方案--------------------------------------------------------我这边有个JAR包能够带泛型转org.codehaus.jackson.map.ObjectMapper本身从网上下,用法以下:Java codeObjectMapper mapper = new ObjectMapper(); Map<String, CityPo> tmp = mapper.readValue(json, new TypeReference<Map<String, CityPo>>() {}); ------解决方案--------------------------------------------------------JAR包名是:jackson,有两部分,一个是jackson-core-asl,一个是jackson-mapper-asl ------解决方案-------------------------------------------------------- Map tmp = (Map)JSONObject.toBean(json, Map.class); 改为Map<String,CityPo> tmp = (Map<String,CityPo>)JSONObject.toBean(json, Map.class);