關於json,有一個官網:http://www.json.org 上面介紹了每種語言生成json格式的類庫,咱們只要把他們下載解壓以後調用他們其中的組件便可,在.net中我用的是Newtonsoft.Json.dll這個組件,這個組件有好幾種版本,有1.0,3.5等等。關於他的用法能夠到官網去具體瞭解一下,這樣我這裏主要是介紹咱們如何用他們,首先要在後臺處理頁面生成並返回json數據格式,數據處理頁面這裏能夠用aspx或者ashx頁面,若是用aspx頁面來處理的話,首頁把aspx的源視圖中除了第一行以外,其他行都要刪除,由於若是不刪除的話,那麼他們都將被返回給前臺調用者一定形成錯誤.下面我介紹如何用ashx頁面來生成json並返回。下面建一個Handler.ashx頁面,下面是它裏面的代碼在引用Newtonsoft.Json.dll,要先將Newtonsoft.Json.dll放在Bin文件中,而後再頁面添加對他的引用using Newtonsoft.Json;html
IList<RoomCate> list = RoomCateManager.GetAllRoomCateInfo();
string Content = JavaScriptConvert.SerializeObject(list);//將數據轉成json格式
Response.Write(Content ); //輸出jsonjquery
從上面能夠看出返回的是一個數組,裏面包含許多的json對象,格式是[{"id":"1"},{"id":"2"}]ajax
RoomCate rc=RoomCateManager.GetRoomCateInfo(id);
string Content = JavaScriptConvert.SerializeObject(rc);//將數據轉成json格式
Response.Write(Content ); //輸出jsonjson
上面輸入的json格式爲{"id":"1"}數組
那麼咱們前臺如何調用並解析它呢,這裏咱們要用jquery裏面的ajax方法,固然用的前提是用引用jquery.js文件。這裏我推薦用getJSON方法由於他直接就返回json的數據格式app
$.getJSON("Handler/Handler.ashx", function (json) {
$.each(json, function (index, array) { //解析json數組用的方法
var roomID= array['RoomID'];//RoomID用類的屬性
$("#NewsTop").append(roomID);//把它加載到咱們要顯示他們的html標籤中
});
});.net
若是返回是json對象格式爲{"id":"1"}那麼咱們將如何解析它呢,使用方法同樣只是解析方法不同htm
$.getJSON("Handler.ashx", function (json) {//直接用json.屬性便可
$("#logo").append("<img src='../SystemFiles/" + json.PictureName + "' width='234' height='172' />");
$("#intro").html(json.Contents.substr(0, 420) + "...");
});對象
若是要交給aspx頁面處理的話,不只用將源代碼中只保留第一行,其他行刪除以外,還有加隨機數ip
$.getJSON("Handler.aspx", {sjd: Date().toLocaleString() }, function (json) {
.....................//解析方法同上,其中data參數爲sjd: Date().toLocaleString() ,這句就是隨機數確保每次解析都不同 });