上一章介绍了如何用JSON表示数据,这一章将为我们解决如何在服务器端生成JSON格式的数据以便发送到客户端,以及客户端如何使用JavaScript处理JSON格式的数据。
我们先讨论如何在Web页面中用JavaScript处理JSON数据,我们通过一个简单的JavaScript方法就能看到客户端如何将JSON数据表示给用户:
function handleJson()
{
var j = {"name":"Michael","address":
{"city":"Beijing","street":"Chaoyang Road","postcode":100025}
};
document.write(j.name);
document.write(j.address.city);
}
假定服务器返回的JSON数据是上文的:
{"name":"Michael","address":
{"city":"Beijing","street":"Chaoyang Road","postcode":100025}
}
只需将其赋值给一个JavaScript变量,就可以立刻使用该变量并更新页面中的信息了,相比XML需要从DOM中读取各种节点而言,JSON的使用非常容易,我们需要做的仅仅是发送一个Ajax请求,然后将服务器返回的JSON数据赋值给一个变量即可,有许多Ajax框架早已包含了处理JSON数据的能力,
例如Prototype(一个流行的JavaScript库:Http://prototypejs.org)提供了evalJSON()方法,能直接将服务器返回的JSON文本变成一个JavaScript变量:
new Ajax.Request(http://url,{
method:"get",
ouSuccess:function(transport){
var json = transport.responseText.evalJSON();
//TODO :document.write(json.xxx);
}
);