Servlet输出JSON数据Servlet向浏览器返回JSON数据
程序员文章站
2024-02-03 10:01:16
...
Servlet输出JSON数据Servlet向浏览器返回JSON数据
一、依赖jar包
1、 gson-2.8.5: 对象和json字符串之间相互转换。
二、代码实现 -- 普通字符串返回
@WebServlet("/jsonServlet")
public class JsonServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 解决json中文乱码
response.setContentType("text/json;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String str ="{\"姓名\":\"HaHa先生\",\"年龄\":\"18岁啦\"}";
out.println(str);
out.flush();
out.close();
}
}
三、代码实现 -- 对象 -- 使用Gson对象转字符串
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 解决json中文乱码
response.setContentType("text/json;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
List<Client> list = clientService.findList(new Client());
Gson gson = new Gson();
String json = gson.toJson(list);
out.println(json);
out.flush();
out.close();
}
四、 使用ajax获取json数据
<script type="text/javascript">
$.ajax({
url:'${ctx}/jsonServlet',
type:'POST',
data:{},
dataType:'json',
success:function(data){
var str =JSON.stringify(data);
alert(str);
}
});
</script>
五、总结
1、本示例代码中使用的Servlet版本是3.0 ,故而使用了注解的形式。 低于3.0的朋友,请在web.xml文件中配置Servlet,这里不再列出。
2、三 中的对象,可以是任意对象,为了代码简洁,易于理解,不再列出获取 List 的详细代码。
3、servlet中输出json数据,请使用 response 。 使用前需设置下 编码格式和响应内容类型,否则可能会造成中文乱码。 (代码开头那两句话!)
上一篇: python基础
推荐阅读
-
Servlet输出JSON数据Servlet向浏览器返回JSON数据
-
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法,jsongzip_PHP教程
-
用easyui从servlet传递json数据到前端页面的两种方法
-
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
-
asp.net浏览器向服务器提交json格式的数据
-
asp.net浏览器向服务器提交json格式的数据
-
jQuery通过Ajax向PHP服务端发送请求并返回JSON数据
-
如何将json文本格式的数据结构化输出在浏览器上?
-
如何将ajax请求返回的Json格式数据循环输出成table形式
-
Android+Servlet+MySql+JSON实现简单的数据查询操作--C/S架构