@Controller public class Springcontroller { /*** * 返回类型是string需要用produces进行转码,并格式化 * json格式化 可以用Gson处理(obj <-> json)互相转换 * @return * @date 2017年5月12日 * @author wanwenjun */ @RequestMapping(value="/stu",produces="application/json; charset=utf-8") @ResponseBody public String getStudent(){ Student s = (Student) SpringContext.getBean("student"); Gson gson = new Gson(); //obj to String String stu = gson.toJson(s); //String to obj Student s2 = gson.fromJson(stu,Student.class); System.out.println(s2.toString()); return stu; } /**** * 返回类型是map,中文没有乱码 * 在页面上看的返回格式效果和上述produces="application/json; charset=utf-8" 一样 * @date 2017年5月12日 * @author wanwenjun * @return Map<String,Student> */ @ResponseBody @RequestMapping(value="/stumap") public Map<String,Student> get(){ Student s = (Student) SpringContext.getBean("student"); Map<String, Student> map = new HashMap<>(); map.put("stu", s); return map; } @ResponseBody @RequestMapping(value="/stulist") public List<Student> getList(){ Student s = (Student) SpringContext.getBean("student"); List<Student> list = new ArrayList<Student>(); list.add(s); return list; } /**** * 效果和Map一致,但需要jackson jar包支持 * @date 2017年5月12日 * @author wanwenjun * @return ModelAndView */ @ResponseBody @RequestMapping(value="/student") public ModelAndView getStu(String a){ Student s = (Student) SpringContext.getBean("student"); Map<String, Student> map = new HashMap<>(); map.put("stu", s); return new ModelAndView(new MappingJackson2JsonView(),map); } }
maven依赖:
Jackson
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.7.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.7.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.7.3</version> </dependency>