Spring MVC でjQueryのAjax関数を使用する2 〜 JSON作成にJacksonを使用する

Spring MVC でjQueryのAjax関数を使用する1 〜 JSON作成にGSONを使用する」では、jQueryajax関数を使用して非同期通信を行い、呼び出したコントローラにてGSONを使用してJSON文字列を作成し、クライアント側へ返却するサンプルを作成した。

今回は、GSONを使用せずに、Jacksonを使用する。

実際にサンプルを見る前に、前回との主な違いを纏めておく。

JSON作成に、GSONではなくてJacksonを使用する。
・pom.xmlに、「jackson-core-asl」と「jackson-mapper-asl」の依存関係を追加する。
・コントローラ側で返却するオブジェクトは、JSON文字列ではなく、Javaオブジェクトのままで良い。
 ※)サーバからクライアントへ返却する過程で、JacksonのマッパーがPOJOJSON文字列に変換してくれる。

それでは、サンプルを示す。
といっても「Spring MVC でjQueryのAjax関数を使用する1 〜 JSON作成にGSONを使用する」と殆ど変わらないので変更点の抜粋とする。

◎コントローラ側のメソッド

//GSONを用いた場合
	@RequestMapping(value = "/getJSON", method = RequestMethod.GET)
	@ResponseBody
	public String getJSON(){
		logger.info("called getJSON");
		Gson gson = new Gson();
		List<String> strList = new ArrayList<String>();
		strList.add("test1");
		strList.add("test2");
		return gson.toJson(strList);
	}

//Jacksonを用いた場合
	@RequestMapping(value = "/getJSON1", method = RequestMethod.GET)
	@ResponseBody
	public List<String> getJSON1(){
		logger.info("called getJSON1");
		List<String> strList = new ArrayList<String>();
		strList.add("test1");
		strList.add("test2");
		return strList;
	}

◎pom.xmlの追記内容
coreとmapperの2つを追記しなければならないことに注意する。

<!-- Jackson a high-performance JSON processor (parser, generator) -->
		<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-asl</artifactId>
			<version>1.9.13</version>
		</dependency>