概述
JSON是一种轻量化的数据传输格式,在各种场景都有运用。比如在ajax中,服务端的数据一般通过JSON字符串的格式传输给前端,前端ajax引擎自动将JSON字符串转化为JS对象(需要将ajax的返回内容格式设置为"json")。那么此时我们在后台服务器中就需要将封装好的JavaBean对象转化为JSON格式字符串来传输给前台ajax引擎,此时使用JSON转化工具将大大简化我们代码量。
首先我们需要明确的是什么是JSON格式
JSON格式有两种,一种是对象格式,另一种是数组格式(也可以叫集合)。
- 对象格式:{"key1":value1,"key2":value2......}
- 数组形式:[{对象1},{对象2}....]
需要注意的是
- 这里的value可以是字符串形式,也可以是数值形式,还可以是布尔型(除了字符串形式需要打引号,其他两种都不用打)
- JSON严格的规定中,key是必须打双引号的,不能为单引号,所以在java代码手动连接JSON字符串时需要用转义字符。
- 虽然在跟多环境中兼容key不打引号的JSON格式,但为了在所有环境下兼容我们还是都加上双引号吧。
JSON转换工具的使用
这里我们介绍使用Gson工具。
- 在使用之前我们需要引入所需的jar包(gson-2.2.4.jar)。
- 创建Gson对象。
- 调用该对象的toJson()方法。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
CategoryService service=new CategoryService();
List<Category> list=service.getCategoryList();
//创建Gson对象
Gson gson=new Gson();
//调用toJson()方法
String json = gson.toJson(list);
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write(json);
}