Java Script语言对象表示法是一种轻量级的数据交换格式。它基于ECMAScript的一个子集JSON。采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
json简单说就是爪哇岛描述语言中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。
1、对象:对象在射流研究…中表示为"{}"括起来的内容,数据结构为{键:值,键:值,}的键值对的结构,在面向对象的语言中,键为对象的属性,值为对应的属性值,所以很容易理解,取值方法为对象。键获取属性值,这个属性值的类型可以是数字、字符串、数组、对象几种。
2、数组:数组在射流研究…中是中括号"[]"括起来的内容,数据结构为['java ',' javascript ',' vb ',],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是数字、字符串、数组、对象几种。
经过对象、数组2种结构就可以组合成复杂的数据结构了。
使用JSON前需要先的导入json.jar包
传输单个对象:
新建一个小型应用程序
打包。ITN ba。玛雅。a;导入Java。io。ioexception导入javax。servlet。servletexception导入javax。servlet。注释。webservlet导入javax。servlet。http。HttpServlet导入javax。servlet。http。HttpServletrequest导入javax。servlet。http。HttpServletResponse导入组织。JSON。JSON对象;/** * Servlet实现类C */@WebServlet('/C ')公共类C扩展了HttpServlet {私有静态最终长系列版本id=1L;/* * * @参见httpersvlet # httpersvlet()*/public C(){ super();//TODO自动生成的构造函数存根}/* * * @请参见httpersvlet # Doget(httpersvletrequest请求,HttpServletResponse响应)*/受保护的void Doget(HttpServletrequest请求,HttpServletResponse响应)引发ServletException,IOException { request。setcharacter编码(' utf-8 ');回应。setcharacter encoding(' utf-8 ');//模拟从数据库中查处狗a=新狗();a.setName('小黄');a . setage(5);a.setZl('哈士奇');JSON对象obj=新的JSON对象();obj.put('name ',a . getname());put('age ',a . GetAge());obj.put('zl ',a . Getzl());JSON对象bb=新的JSON对象();bb.put('obj ',obj);response.getWriter().追加(bb。ToString());}/* * * @参见httpersvlet # DoPost(httpersvletrequest请求,httpersvletresponse响应)*/受保护的void doPost(httpersvletrequest请求,httpersvletresponse响应)抛出ServletException,IOException { //TODO自动生成的方法存根doGet(请求,响应);}}效果如下:
jsp页面
% @ page语言=' Java ' ContentType=' text/html;charset=utf-8 '页面编码=' utf-8 ' %!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' ' http://www .w3。org/TR/HTML 4/松散。DTD ' HTML hearteta http-equiv=' Content-Type ' Content=' text/HTML;字符集=utf-8 '标题在此插入标题/title脚本类型=' text/JavaScript ' src=' http : js/jquery-1。11 .1 .量滴js '/script脚本类型=' text/JavaScript ' $(文档)。ready(function(){ $('#k ')).单击(函数(){ $).Ajax({ URL : ' C },data:{},type:'POST ',dataType:'JSON ',success :函数(httpdata){ $(' # x ').追加('李' httpdata。物体。姓名'/Li ');$('#x ').追加('李' httpdata。物体。年龄'/李');$('#x ').追加('李' httpata。物体。/“李”)});});/script/head dispan id=' k '查看/span h1 ul id=' x '/ul/h1/body/html效果如下:
传输集合或数组:
servlet:
打包。ITN ba。玛雅。a;导入Java。io。ioexception导入Java。乌提尔。ArrayList导入javax。servlet。servletexception导入javax。servlet。注释。webservlet导入javax。servlet。http。HttpServlet导入javax。servlet。http。HttpServletrequest导入javax。servlet。http。HttpServletResponse导入组织。JSON。jsonarray导入组织。JSON。JSON对象;/** * Servlet实现类D */@WebServlet('/D ')公共类D扩展了HttpServlet {私有静态最终长串行版本id=1L;/* * * @参见httpersvlet # httpersvlet()*/public D(){ super();//TODO自动生成的构造函数存根}/* * * @请参见httpersvlet # Doget(httpersvletrequest请求,HttpServletResponse响应)*/受保护的void Doget(HttpServletrequest请求,HttpServletResponse响应)引发ServletException,IOException { request。setcharacter编码(' utf-8 ');回应。setcharacter encoding(' utf-8 ');//模拟从数据库中查出Dog a1=new Dog();a1.setName('小黄');a 1。setage(5);a1.setZl('哈士奇');Dog a2=new Dog();a2.setName('中黄');a 2。setage(6);a2.setZl('泰迪');狗a3=新狗();a3.setName('大黄');a3。setage(7);a3.setZl('京巴');arraylistog list=new arraylistog();名单。添加(a1);名单。添加(a2);名单。添加(a3);JSONArray arr=new JSONArray();//遍历集合for(Dog d : list){ JSON对象obj=new JSON对象();obj.put('name ',d . getname());obj.put('age ',d . Getage());obj.put('zl ',d . getzl());放置(物体);} response.getWriter().追加(arr。tostring());}/* * * @参见httpersvlet # DoPost(httpersvletrequest请求,httpersvletresponse响应)*/受保护的void doPost(httpersvletrequest请求,httpersvletresponse响应)抛出ServletException,IOException { //TODO自动生成的方法存根doGet(请求,响应);}}效果如下:
jsp页面:
% @ page语言=' Java ' ContentType=' text/html;charset=utf-8 '页面编码=' utf-8 ' %!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' ' http://www .w3。org/TR/HTML 4/松散。DTD ' HTML hearteta http-equiv=' Content-Type ' Content=' text/HTML;字符集=utf-8 '标题在此插入标题/title脚本类型=' text/JavaScript ' src=' http : js/jquery-1。11 .1 .量滴js '/script脚本类型=' text/JavaScript ' $(文档)。ready(function(){ $('#k ')).单击(函数(){ $).ajax({ url:'D '、data:{}、type:'POST '、dataType:'JSON '、success :函数(httpdata){ for(var I=0;ihttpdata . lenti){ var n=httpdata[I].名称var a=httpdata[i].age var z=httpdata[i].ZL var tr=' tr ' tr=' TD ' n '/TD ' tr=' TD ' a '/TD ' tr=' TD ' z '/TD ' tr='/tr ' $(' # x ').append(tr)} } })});});/script/head dispan id=' k '查看/span h1表格宽度='100%' id='x '边框=' 1px '/表格/h1/正文/html效果如下:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!