一:json
1.json是什么
它是js提供的一种数据交换格式
2.json的语法
{}:表示对象!
属性名必须要用双引号括起来,单引号不行!!!
属性值:
- null
- 数值
- 字符串
- 数组:用[]括起来
- boolean值:true 和false
3.应用json
<script type="text/javascript">
window.onload=function (){
var person={'name':"zhangSan","age":18,"sex":"male"};
alert(person.name+","+person.age+","+person.sex);
}
</script>
二:json-lib的应用
1.作用
它可以把javaBean转换成json串
2.执行环境:
需要的jar包:
- jakarta commons-lang 2.5
- jakarta commons-beanutils 1.8.0
- jakarta commons-collections 3.2.1
- jakarta commons-logging 1.1.1
- ezmorph 1.0.6
3.应用
- 当map来用
JSONObject map1=new JSONObject();
map1.put("name","张三");
map1.put("age",15);
map1.put("sex","男");
System.out.println(map1.toString());
- 直接把对象转换成JSONObject
Person person=new Person("张三",18,"男");
JSONObject map2=JSONObject.fromObject(person);
System.out.println(map2.toString());
- 当list来用
Person p1=new Person("王五",45,"女");
Person p2=new Person("赵六",12,"男");
JSONArray list=new JSONArray();
list.add(p1);
list.add(p2);
System.out.println(list.toString());
- 将list转换成JSONObject
List<Person> list1=new ArrayList<Person>();
Person p3=new Person("孙悟空",45,"男");
Person p4=new Person("猪八戒",45,"女");
list1.add(p3);
list1.add(p4);
JSONArray array=JSONArray.fromObject(list1);
System.out.println(array.toString());
三:打包ajax生成小工具
作用:使用ajax打包生成的小工具,就不用每次再次创建连接对象,就可以直接引用外部文件直接请求服务器,非常之方面,也非常之简单。
例子:
工具类:
function createXMLHttpRequest() {
try {
return new XMLHttpRequest();//大多数浏览器
} catch (e) {
try {
return new ActiveObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveObject("Microsoft.XMLHTTP");
} catch (e) {
alert("哥们儿,你用的是什么浏览器啊?");
throw e;
}
}
}
}
/*
* option具有下列几个参数
*/
///*请求方式*/method,
///*请求的url*/url,
///*是否异步*/asyn,
///* 请求体*/parms,
///*回调函数*/callback,
///*服务器响应数据转换成什么类型*/type
function ajax(option){
/*
* 1.得到xmlHttp;
*/
var xmlHttp=createXMLHttpRequest();
/*
* 2.打开连接
*/
if(!option.method){//默认为GET请求
option.method="GET";
}
if(option.asyn==undefined){//默认为异步处理
option.asyn=true;
}
xmlHttp.open(option.method,option.url,option.type);
/*
* 3.判断 是否为POST
*/
if("POST"==option.method){
xmlHttp.setRequestHeader("Content-Type","aplication/x-www-form-urlencoded");
}
/*
* 4.发送请求
*/
xmlHttp.send(option.params);
/*
* 5.注册监听
*
*/
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){//双重判断
var data;
//获取服务器响应的数据进行转换
if(!option.type){//如果type没有默认值,当text处理
data=xmlHttp.responseText;
}
else if(option.type=="xml"){
data=xmlHttp.responseText;
}else if(option.type=="text"){
data=xmlHttp.responseText;
}else if(option.type=="json"){
var text=xmlHttp.responseText;
data=eval("("+text+")");
}
option.callback(data);
}
}
}
应用类:
<script type="text/javascript">
window.onload=function(){
var btn=document.getElementById("btn");
btn.onclick=function(){
/*
* 发送请求
*/
ajax(
{
url:"ServletA",
type:"json",
callback:function(data){
document.getElementById("h3").innerHTML=data.name+","+data.age+","+data.sex;
}
}
);
}
}