org.springframework.web.servlet.view.json.MappingJacksonJsonViewクラスを使う。
Jacksonというライブラリを変換に使うため、JARファイルを追加しなければClassNotFoundExceptionになる。
- jackson-core-asl-1.5.2.jar
- jackson-mapper-asl-1.5.2.jar
ちなみにJacksonにはaslとついたものとlgplとついたものがある。これはライセンス(asl = Apache Software License、lgpl = LGPL)。
ソースではJSONにしたいキーと値をマップにしてMappingJacksonJsonViewに渡す。
@RequestMapping(method = { RequestMethod.POST }) public MappingJacksonJsonView methodName(@RequestParam("id") String id) { Map<String, Object> map = new HashMap<String, Object>(); map.put("id", id); MappingJacksonJsonView view = new MappingJacksonJsonView(); view.setAttributesMap(map); return view; }
{"id":13}
といったJSONがContentType:"application/json"で返される。