把HashMap转换成json格式

import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;

import javax.servlet.http.HttpServletResponse;
/**
 * 把Hshmap转换成json,拼装后以html格式输出
 * @author chengjie
 *
 */
public class HashmapToJson {
	/**把数据源HashMap转换成json
	 * @param map 
	 */
	public static String hashMapToJson(HashMap map) {
		String string = "{";
		for (Iterator it = map.entrySet().iterator(); it.hasNext();) {
			Entry e = (Entry) it.next();
			string += "'" + e.getKey() + "':";
			string += "'" + e.getValue() + "',";
		}
		string = string.substring(0, string.lastIndexOf(","));
		string += "}";
		return string;
	}
	/**
	 * 输出json到HTML
	 * @param response 
	 * @param jsonString 要输出的字符串
	 */
	public void outJson(HttpServletResponse response, String jsonString) {
		response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
		response.setHeader("Pragma", "no-cache");
		response.setHeader("Cache-Control", "no-cache, must-revalidate");
		response.setHeader("Pragma", "no-cache");
		try {
			response.getWriter().println(jsonString);
			response.getWriter().flush();
			response.getWriter().close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	/**
	 * 拼装json,输出
	 * @param list
	 * @param response
	 */
	public static void toJson(List list, HttpServletResponse response) {
		HashmapToJson toJson = new HashmapToJson();
		String jsonString = "[";
		for (int i = 0; i < list.size(); i++) {
			if (i != 0)
				jsonString += ",";
			jsonString += toJson.hashMapToJson((HashMap) list.get(i));
		}
		jsonString += "]";
		toJson.outJson(response, jsonString);
	}
}

你可能感兴趣的:(java,html,json,cache,servlet)