java项目中经常需要和前端页面交互,把servlet中返回前端的数据转换成json是一种非常好的选择:
测试demo:
package com.appear.myage.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.appear.myage.entity.Student;
import com.appear.myage.untils.HtmlUtils;
/**
* Servlet implementation class TestServlet
*/
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Student student = new Student("张三",15,true);
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "张飞");
map.put("stu", student);
HtmlUtils.jsonToHtml(response, map);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
最重要的工具类:
package com.appear.myage.untils;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
public class HtmlUtils {
public static void jsonToHtml(HttpServletResponse response,Map<String, Object> map){
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
JSONObject jsonObject = JSONObject.fromObject( map );
System.out.println(jsonObject);
String jsonData = jsonObject.toString();
PrintWriter out = null;
try {
out = response.getWriter();
out.write(jsonData);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
out.close();
}
}
}
}
这个工具类java数据转json,需要以下五个jar包支持
下载地址:
http://download.csdn.net/detail/lee_0220/9651473