1. JSON:javaScript ObjectNotation,javaScript对象表示法,是专门为javaScript量身打造的一种表示对象数据的一种方式,是纯文本字符串,是一种数据格式。好处是:比XML等格式的数据使用方便,可以直接点点(student.name)的用,省去了用XMl时的解析工作。主要和Ajax配合使用。
2. JSON可以传输String,Number,Boolean,也可以传输一个数组或一个复杂的Object对象。
3. 各种类型数据分别举例:
String:“abc”
Number:123或-123
Boolean:true或false
数组:[“abc”,12345,false,null]
对象:
{“city”:”beijing”,”street”:”chaoyangroad”,”postcode”:100010}
对象里面还有对象:
{
“city”:”beijing”,
”cityObject”:{“city”:”beijing”,”street”:”chaoyangroad”}
}
4. javaScript中如何使用JSON数据:
functionhandleJson() {
varj={"name":"Michael","address":
{"city":"Beijing","street":"Chaoyang Road ","postcode":100025}
};
document.write(j.name);
document.write(j.address.city);
}
5. 将java对象转化为json对象的方法可以自己写,但是已经有很多现成的已经实现的开源代码,如json_lib.jar等,可以直接使用。
6. 和ajax结合使用时,后台返回的是一个JSON字符串,不能在回调函数中直接使用,要用JavaScript的eval()方法将JSON字符串转化为JSON对象后再使用如:
function back() {
var jsonStr = xmlHttpReq.responseText;//这里获取的只是json字符串
var jsonOb =eval(“(”+jsonStr+”)”);//用eval()把JSON字符串转化为JSON对象
alert(jsonObj.name);//使用JSON对象
}
注意:在用eval()转化为JSOn对象时,要在JSON字符串外面包一层括号,这样Eval()才会知道将这个字符串转化为一个对象。