码迷,mamicode.com
首页 > Web开发 > 详细

JSON数据格式

时间:2019-05-10 20:32:20      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:att   vat   传输   int   name   out   集合   json对象   one   

JSON数据格式
  JSON 是一种数据传输格式
  JSON 是要结合 Ajax(异步请求) 使用的,
  在后端一般会将一个对象转换成 JSON 格式的数据之后返回给客户端,
  可以自己写工具转换, 也可以使用第三方工具 : gjson, fastjson 等

Demo: JSON 表示一个数字
2.90

Demo: JSON 表示一个字符串
"Hello world"

Demo: JSON 表示一个对象
{
  "name":"smith".
  "age":30,
  "sex":"男"
}

Demo: JSON对象的属性可以是对象
{
  "name":"smith".
  "age":28,
  "sex":"男"
  "school":{
  "sname":"南京大学".
  "address":"南京市鼓楼区汉口路22号"
}
}

Demo: JSON 格式表示数组
保存名字的数组: ["张三","李四","王五"]
保存雇员的信息: ["smith",1001,"clerck",7788,2000.00,200.0]
[
  ["smith",1001,"clerck",7788,2000.00,200.0]
  ["smith",1001,"clerck",7788,2000.00,200.0]
  ["smith",1001,"clerck",7788,2000.00,200.0]
]
[
  {"name":"smith","empno":1001,"job":"clerck","sal":9000.00,"comm":5000.00},
  {"name":"smith","empno":1001,"job":"clerck","sal":9000.00,"comm":5000.00},
  {"name":"smith","empno":1001,"job":"clerck","sal":9000.00,"comm":5000.00},
]

Demo: 对象数组
在一个数组保存多个 json 对象 (在一个数组中保存多个对象)
[
  {
    "title":"Java 开发",
    "edition":3,
    "author":["smith","张三","李四"]
  },
  {
    "title":"Web 开发",
    "edition":3,
    "author":["Allen","王五","赵六"]
  }
]
二维数组保存
[
  ["Java 开发",3,["smith","张三","李四"]],
  ["Web 开发",3["Allen","王五","赵六"]]
]

Demo: 将一个对象转换成 json 数据

@WebServlet(urlPatterns= {"/emp/*"})
public class EmpServlet extends BaseServlte{
    private IEmpService empservice = (IEmpService)ServiceFactory.getInstance(EmpServiceImpl.class);
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String pathInfo = req.getPathInfo();
            try {
                if ("/getOne".equals(pathInfo))) {
                    this.getOne(req, resp);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    }
    //将一个对象转换成 json 数据输出到客户端
    public void getOne(HttpServletRequest req, HttpServletResponse resp) throws Exception {
        //获取要查询的雇员编号
        Integer id = Integer.parseInt(req.getParameter("id"));
        Emp emp = empservice.findEmpById(id);
        //将查询到的对象转换成json 数据格式
        String jsonEmp = JSON.toJSONString(emp);
        System.out.println(jsonEmp);
        PrintWriter out = null;
        out=resp.getWriter();
        //将转换后的 json 数据输出到客户端
        out.print(jsonEmp);
        out.close();
    }
}

Demo: 将一个 List 集合转换为 json 数据

@WebServlet(urlPatterns= {"/emp/*"})
public class EmpServlet extends BaseServlte{
    private IEmpService empservice = (IEmpService)ServiceFactory.getInstance(EmpServiceImpl.class);
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String pathInfo = req.getPathInfo();
            try {
                if ("/getOne".equals(pathInfo))) {
                    this.getOne(req, resp);
                }else if ("/jsonList".equals(pathInfo)) {
                    this.jsonList(req, resp);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    }
    //模糊分页查询: 将一个 List 集合转换为 json 数据
    public void jsonList(HttpServletRequest req, HttpServletResponse resp) throws Exception {
        String kw = req.getParameter("kw");
        Integer cp = Integer.parseInt(req.getParameter("cp"));
        Integer ls = Integer.parseInt(req.getParameter("ls"));
        //将 List 集合转换为 json 数据格式
        String jsonListEmp = JSON.toJSONString(this.empservice.findAllSplit(kw, cp, ls).get("emplist"));
        System.out.println(jsonListEmp);
    }
}

Demo: 将Map 数据转换为 json 数据
  转换 Mao 集合则是键值对的形式

@WebServlet(urlPatterns= {"/emp/*"})
public class EmpServlet extends BaseServlte{
    private IEmpService empservice = (IEmpService)ServiceFactory.getInstance(EmpServiceImpl.class);
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String pathInfo = req.getPathInfo();
            try {
                if ("/getOne".equals(pathInfo))) {
                    this.getOne(req, resp);
                }else if ("/jsonList".equals(pathInfo)) {
                    this.jsonList(req, resp);
                } else if ("/jsonMap".equals(pathInfo)) {
                    this.jsonMap(req, resp);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    }
    
    //模糊分页查询: 将一个 Map 集合转换为 json 数据
    public void jsonMap(HttpServletRequest req, HttpServletResponse resp) throws Exception {
        String kw = req.getParameter("kw");
        Integer cp = Integer.parseInt(req.getParameter("cp"));
        Integer ls = Integer.parseInt(req.getParameter("ls"));
        //将 Map 集合转换为 json 数据格式
        String jsonMapEmp = JSON.toJSONString(this.empservice.findAllSplit(kw, cp, ls));
        System.out.println(jsonMapEmp);
    }
}

 

JSON数据格式

标签:att   vat   传输   int   name   out   集合   json对象   one   

原文地址:https://www.cnblogs.com/yslf/p/10846487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!