JSON综合分析
来源:互联网 发布:python unicode 编辑:程序博客网 时间:2024/05/17 23:02
JSON
1、简单。
只有4种类型的符号 [ ] { } : ,就可以表示任何种类的复杂对象或数组。
2、易读。
机器解析还是人的阅读都能够从这种格式中快速找到所需要的信息。
JSON原理
JSON作为数据交换的格式与平台种类是无关的。不管服务器使用Java语言、C#语言或其他语言都能够从这种字符串格式转换为具体语言的对象。同样,任何语言也都能将自己的对象转换为JSON的字符串。
JSON数据交换原理
如果是客户端请求数据,那么服务器端就将Java对象先转换成JSON字符串,经响应把字符串传到客户端之后,客户端就会接收到这个转换结果,但JavaScript要求把这个字符串变成对象格式才更方便访问,所以在客户端的JavaScript代码中又需要将这个JSON字符串变成JavaScript能够识别的对象,这样就完成了从服务器端的对象到客户端对象的整个转变过程。
同理,如果在客户端填写了数据后想提交给服务器,首先是将客户端数据构造成一个JSON对象字符串,经网络传递到服务器端,服务器端再依据转换规则将JSON字符串变成Java识别的对象。
Java对象转换成JSON
在服务器端对象的转换过程可以使用官方提供的API:JSONObject与JSONArray类、fromObject方法
分别处理对象和数组的转换类型。
JSONObject obj = JSONObject.fromObject(bean);String jsonStr = obj.toString(); JSONArray jsonArr = JSONArray.fromObject(beans);String jsonStr = jsonArr.toString();
使用JSON前的准备
其中json-lib.jar为核心包,其他为依赖包。
IE浏览器缓存问题
IE浏览器提供的AJAX对象,在发送GET请求时,会先查看是否访问过该地址,如果改地址已经访问过,那么浏览器不再发送请求;
表现在页面终究是,第一次点击某功能会得到数据,但是如果多次反复点击想获取最新数据时页面不会有任何变化,因浏览器发现地址相同而拒绝发出请求;
但这种页面表现只出现在IE浏览器中,Chrom浏览器和Firefox浏览器都能够实现数据的获取和页面的刷新。
要想解决缓存问题,就需要欺骗浏览器,让它认为每次请求的地址是不一样的。构建不同的URL需要添加上一个随机数。代码格式如下:
xhr.open(‘get’,’actiion.do?’+Math.random() , true );xhr.send(null);
JQuery对Ajax支持
JQuery为优化Ajax代码,提供了四种特有的函数支持,分别是:
$.load()
$.get()
$.post()
$.ajax()
load( ) 函数
作用:将服务器返回的数据字节加载到符合要求的节点之上;
用法:$obj.load ( 请求地址,请求参数);
请求参数格式:
“username=tom & age=22”
{‘username’:‘tom’,‘age’:22 }
有请求参数时,load方法发送POST请求,否则发送GET请求
$.get/post( ) 函数
作用:发送GET/POST类型的请求
用法:$.get/post(
请求地址?请求参数,
function(data){},//回调函数
服务器返回的数据类型);
$.ajax( ) 函数
作用:发送Ajax请求(各种类型)
用法:$.ajax({
url:"请求地址" ,
data:"请求参数",
type:"请求类型" ,
dateType:"服务器返回的数据类型",
success:function(data){},//成功的回调函数
error:function(){}//服务器出错后的处理逻辑 });
2 0
- JSON综合分析
- AJAX综合分析
- integer综合分析
- 滴滴综合分析
- 四大主流浏览器综合分析
- 提供综合分析数据
- BW Extract Data 综合分析
- 明升综合分析
- Memset()函数综合分析
- 模糊综合分析程序
- 前端性能优化综合分析
- 深入浅出Signals综合分析
- 深入浅出线程综合分析 (一)
- webkit HTML5 WebSocket 综合分析 1
- webkit HTML5 WebSocket 综合分析 2
- 非平稳时间序列综合分析
- 自建与外包呼叫中心综合分析
- 兰亭集势(Lightinthebox)网站结构综合分析
- java基础(三)之数据类型
- Android布局优化
- struts2 如何接收input name[] 的数组或者集合
- 奇思妙想位运算
- java mail 发送邮件,并判断是否发送成功
- JSON综合分析
- 网页优化:CSS和JS合并压缩
- EffectiveJava-7 J避免使用 finalizer方法
- UIImage渲染模式显示图片本身颜色
- 在Mac下开发Android,JavaEE的体验
- SVM算法教科书(二)
- Struts2
- About Storage summary(1)
- ViewPager懒加载的简单实现