嗨,哥们儿传JSON数据啊,你传的什么鬼?不懂JSON吗?别说你没听过JSON数据哈。今天你被心灵深处的一个闹铃闹醒,心想:这该死的JSON究竟是个什么东西?为什么突然间到处都是它了!
JSON是什么?JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 JSON的实际内核就是字符串,而且JSON在每一种开发语言都有自己的解析和开发机制。
JSON的优势是什么?1、 轻量级 2、 易于阅读 3、 占用服务资源少 4、 支持各种语言
JSON的数据格式JSON数据格式:主要由对象 { } 和数组 [ ] 组成: 1、 JSON 对象语法 var myObj = { 'name':'yy', 'age':28, 'like':null } 访问对象值: 使用点号(.)来访问对象的值myObj.name 使用中括号([])来访问对象的值myObj['name'];
2、嵌套 JSON 对象 var myObj = { 'name':' yy ', ' age ':28, ' likes': { 'like1':'kanshu', 'like2':'xiezi', 'like3':'zhibo' } } 使用点号(.)或者中括号([])来访问嵌套的 JSON 对象myObj. likes.like1; 或 myObj. likes ['like1'];
3、数组作为 JSON 对象 var myArr = [ 'yy', 'zdk', '28' ] 访问数组值:使用中括号([])来访问数组的值myArr [0];
4、JSON 对象中的数组 var myArr = { 'name':'zdk', 'age':28, 'likes':[ 'kanshu', 'lanqiu', 'Taobao' ] } 使用索引值来访问数组:myArr. likes[0];
注意:JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。 前台将封装的JSON数据传给后端1.前台对象数据: var params = { 'userName':userName, 'userPwd':userPwd }; //对象直接传默认序列化
1.1 后端对象接收: BufferedReader bufferedReader = request.getReader(); String json = bufferedReader.readLine(); Users users = JSON.parseObject(json,Users.class); //将前端发过来的json字符串转
2.前台数组数据: var params = [userName,userPwd]; //转成JSON字符串 JSON.stringify(params)
2.1 后端数组接收: BufferedReader bufferedReader = request.getReader(); String json = bufferedReader.readLine(); JSONArray array = JSON.parseArray(json); System.out.println(array.get(1)); //如果多条数组还可以: List<Users> userList = JSON.parseArray(json, Users.class);
后端将封装的JSON数据传给前台3.后端数据封装: response.setContentType('application/json;charset=utf8'); response.getWriter().write('{\'userName\':\'zhangsan\',\'userPwd\':123}'); response.getWriter().write(JSON.toJSONString(user)); response.getWriter().write(JSON.toJSONString(list中放实体对象)); response.getWriter().write(JSON.toJSONString(list中放实体对象(还可以嵌套)));
3.1 前台接收后台数据: console.log(JSON.parse(responseResult)); //json转对象前提是dataType不写json console.log(JSON.stringify(responseResult)); //json转对字符串 $.each(responseResult.list,function (index,item) { console.log(item.userName); console.log(item.userPwd); })
结尾:如上属于Gson和FastJson都是最常用的方法,本文章里面用到的API也是最常用的API,基本开发都够用了,其余未涉及到的请自行查看源码学习吧。如果觉得丫丫分享的还不错,请点击关注。谢谢!
|