依赖的jar包:
jackson-core-asl-1.8.7.jar
jackson-mapper-asl-1.8.7.jar
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.13</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-lgpl</artifactId> <version>1.9.13</version> </dependency>
第一种方式:(ResponseEnity)
使用ResponseEnity
@Controller public class JSONController { @RequestMapping(value={"/{name}"}, method=RequestMethod.GET) public ResponseEntity<Shop> hello(@PathVariable String name) { Shop shop = new Shop(); shop.setName(name); shop.setStaffName(new String[]{"zwh1","zwh2"}); return new ResponseEntity<Shop>(shop,HttpStatus.OK); } }
输出Json: {"name":"zzz","staffName":["zwh1","zwh2"]}
第二种方式:(@ResponseBody)
使用@ResponseBody
@Controller public class JSONController { @RequestMapping(value={"/{name}"}, method=RequestMethod.GET) public @ResponseBody Shop hello(@PathVariable String name) { Shop shop = new Shop(); shop.setName(name); shop.setStaffName(new String[]{"zwh1","zwh2"}); return shop; } }
输出Json: {"name":"zzz","staffName":["zwh1","zwh2"]}
第三种方式: (MappingJacksonJsonView)
@Controller public class JSONController { @RequestMapping(value={"/{name}"}, method=RequestMethod.GET) public ModelAndView hello(@PathVariable String name) { ModelAndView mv =newModelAndView(new MappingJacksonJsonView()); Shop shop =new Shop(); shop.setName(name); shop.setStaffName(newString[]{"zwh1","zwh2"}); mv.addObject(shop); return mv; } }
输出Json:{"shop":{"name":"zzz","staffName":["zwh1","zwh2"]}}