【サーブレット】Gsonを使用してjsonをレスポンスする

Gsonの準備

Gsonとは

Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object.

引用元 : https://mvnrepository.com/artifact/com.google.code.gson/gson

JavaのオブジェクトをJSONに変換できて、JSONをJavaのオブジェクトに変換することもできるということです。

以下のページからダウンロードしました。

Just a moment...

サーブレットのコード

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;

public class ResJSON extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("UTF-8");
		
		resp.setContentType("application/json");
		resp.setCharacterEncoding("UTF-8");
		
		ArrayList<String> list = new ArrayList<>();
		list.add("値1");
		list.add("値2");
		
		Gson gson = new Gson();
		
		String json = gson.toJson(list);
		
		
		System.out.println(json);
				
		PrintWriter out = resp.getWriter();
		out.print(json);
	}
}

動かしてみる

実際にtomcatに登録してブラウザからアクセスすると以下のような内容が表示されます。

["値1","値2"]    //Listの場合
["値1","値2"]    //Setの場合
{"キー1":"値1","キー2":"値2"}    //Mapの場合

コメント

タイトルとURLをコピーしました