Ajax中資料傳遞的一種模式:JSON

來源:互聯網
上載者:User

 

什麼是 JSON

      JSON概念很簡單,JSON 是一種輕量級的資料格式,他基於 javascript 文法的子集,即數組和對象表示。由於使用的是 javascript 文法,因此JSON 定義可以包含在javascript 檔案中,對其的訪問無需通過基於 XML 的語言來額外解析。不過在使用 JSON 之前,很重要的一點是理解 javascript 中數組及對象字面量的特殊文法。

1.1 數組字面量

         數組字面量,是用一對方括弧括起一組用逗號隔開的 javascript 值,例如:

        var as=["hi", 10, true , null];

1.2 對象字面量

        對象字面量,是通過兩個花括弧來定義的。在花括弧內可以放置任意數量的“名稱-值”對,定義格 式字串值”。除了最後一行外,每個“名稱-值”對後必須有一個逗號(這與Perl 中的聯合數組的定義有些類似)。例如:

        var oCar = {

               "color": "green",       

              "doors" : 3,

               "paidFor" : false

        };

1.3 混合字面量

      我們可以混用對象和數組字面量,來建立一個對象數組,或一個包含數組的對象。(具體的我也不太清楚)

可能有人對json格式的文本不熟悉,我下面給大家寫段json資料:

{

"planet":

{

"name":"earth",

"type":"small",

"info":["Earth is a small planet,third from the sun","two-thirds","climated and landcapes"]

}

}

下面是一個簡單的例子:

function showInfo(event)

{

var planet=this.id;

var scriptUrl=planet+".json";

new net.ContentLoader(scriptUrl,parseJSON);

}

 

function parseJSON()

{

var name="";

var descrip="";

var jsonTxt=net.req.responseText;

var jsonObj=eval("("+jsonTxt+")");

name=jsonObj.planet.name

var ptype=jsonObj.planet.type;

if(ptype)

{

descrip+="<h2>'+ptype+"</h2>";

}

var infos=jsonObj.planet.info;

descrip+="<ul>";

for(var i in infos)

{

descrip+="<li>"+infos[i]+"</li>\n";

}

descrip+="</ul>";

top.showPopup(name,descrip);

}

我們再一次使用ContentLoader來擷取資料,並且分配一個回呼函數parseJSON()。整個的響應文本是一條合法的JavaScript語句,因此我們可以用過簡單的調用eval()函數來建立一個對象圖:

 var jsonObj=eval("("+jsonTxt+")");

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.