一、什么是Json:
1、json 指的是JavaScript 对象表示法(JavaScript Object Notation)
2、json是轻量级的文本数据交换格式,易于人阅读和编写,同时也易于机器解析和生成
3、采用完全独立于语言的文本格式,而且受很多语言的支持
二、JSON在JavaScript中的使用
1 json的定义
json 是由键值对组成,并且由花括号包围,每个键由引号引起来,键和值之间使用冒号进行分隔,多组键值对之间用逗号进行分隔。
2 Json语法介绍
window.onload = function(){
var json1 = {name:"haoren",password:123};
var jsonArr = [{name:"huairen",age:12+23},{name:"zhangsan",age:23},{name:"lishi",age:13}]
alert(json1.name);
alert(json1.password);
for(i=0;i<jsonArr.length;i++){
alert(jsonArr[i].name+","+(jsonArr[i].age+10));
}
}
3 Json的两个常用方法
JSON 的存在有两种形式:
1、对象的存在形式,我们叫它JSON对象。在我们操作JSON中的数据的时候,需要使用JSON对象形式。
2、字符串的存在形式,我们叫它JSON字符串。在客户端和服务器端进行数据交换的时候,使用JSON字符串形式。
JSON.stringify(jsonObject) :把 JSON对象转换成伟 JSON字符串。
JSON.parse(jsonString) :把 JSON字符串转换成 JSON对象。
转换示例:
// 把 json对象转换成为 json字符串
var jsonObjString = JSON.stringify(jsonObj);
alert(jsonObjString);
// 把 json字符串,转换成为 json对象
var jsonObj2 = JSON.parse(jsonObjString);
alert(jsonObj2.key1);
三、示例
Servlet:
//利用json-lib快速的将javabean转换为了为json数据(包有点烦躁)
List<User> list = new ArrayList<User>();
list.add(new User("user1","2323",42));
list.add(new User("user2","2324",46));
list.add(new User("user3","2325",47));
JSONArray ja = JSONArray.fromObject(list);
//过滤掉一些字段
//JsonConfig jc = new JsonConfig();
//jc.setExcludes(new String[]{"password"});
//JSONArray ja = JSONArray.fromObject(list,jc);
response.getWriter().print(ja.toString());
jsp
function showInfo(){
//alert(xmlHttp.readyState);
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200 || xmlHttp.status == 304){
var jdata = eval("("+xmlHttp.responseText+")");
//alert(jdata.name+":"+jdata.password+":"+jdata.age);
alert(jdata[0].name+","+jdata[1].name+","+jdata[2].name+","+jdata[0].password);
}
}
}