1. 程式人生 > >servlet向客戶端返回JSON資料

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();