servlet向客户端返回JSON数据

我们可以使用servlet的内置对象response向客户端发送响应。首先我们来看一下官方文档对response的解释:

       定义一个对象来帮助servlet向客户端发送响应。servlet容器创建一个ServletResponse对象,并将其作为参数传递给servlet的服务方法。要发送响应中的二进制数据,请使用getOutputStream()。要发送字符数据,请使用getWriter()。

     可以使用setCharacterEncoding(java.lang.String)和setContentType(java.lang.String)方法或隐式使用setLocale(java.util.Locale)方法来明确指定MIME响应的字符集。 显式规范优先于隐含规范。 如果未指定字符集,则将使用ISO-8859-1。 必须在getWriter之前调用setCharacterEncoding,setContentType或setLocale方法,然后在为要使用的字符编码提交响应之前调用setCharacterEncoding,setContentType或setLocale方法。


下面是在服务器端返回JSON的代码:

 

 response.setContentType("application/json;charset=utf-8");//指定返回的格式为JSON格式
 response.setCharacterEncoding("UTF-8");//setContentType与setCharacterEncoding的顺序不能调换,否则还是无法解决中文乱码的问题
 StringjsonStr ="{\"id\":\"123\",\"name\":\"小黎\"}";
 PrintWriter out =null ;
 out =response.getWriter() ;
 out.write(jsonStr);
 out.close();



你可能感兴趣的:(servlet)