在Java Web應(yīng)用程序中使用Action來輸出大量數(shù)據(jù)格式為JSON,可以使用如下方式:
public class JsonAction { private List<Map<String, Object>> dataList; // getter and setter methods public String execute() { try { dataList = new ArrayList<Map<String, Object>>(); // 添加數(shù)據(jù)到dataList HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncoding("utf-8"); response.setContentType("application/x-json"); PrintWriter out = response.getWriter(); out.print(JSON.toJSONString(dataList)); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } return null; } }
以上代碼中,首先在Action中定義了一個數(shù)據(jù)列表dataList,接著添加要輸出的數(shù)據(jù)到dataList中。然后獲取HttpServletResponse對象,設(shè)置HTTP響應(yīng)的編碼格式和內(nèi)容類型,然后通過JSON.toJSONString方法將dataList轉(zhuǎn)換成JSON格式的字符串輸出到客戶端頁面中。
需要注意的是,在輸出JSON數(shù)據(jù)時,需要設(shè)置HTTP響應(yīng)的編碼格式為“utf-8”,否則中文數(shù)據(jù)可能會出現(xiàn)亂碼。另外,還需要設(shè)置HTTP響應(yīng)的內(nèi)容類型為“application/x-json”,這樣瀏覽器就會自動解析返回的JSON數(shù)據(jù)。