JSON是一個(gè)輕量級(jí)的數(shù)據(jù)交換格式,常被用于將數(shù)據(jù)從一個(gè)網(wǎng)頁傳輸?shù)搅硪粋€(gè)網(wǎng)頁。而當(dāng)我們需要返回一個(gè)列表時(shí),我們可以這樣做:
{ "list": [ { "id": 1, "name": "John" }, { "id": 2, "name": "Alice" }, { "id": 3, "name": "Tom" } ] }
在上面的代碼中,我們使用了一個(gè)鍵值對(duì)的形式來返回一個(gè)名為“l(fā)ist”的列表。列表中包含了三個(gè)對(duì)象,每個(gè)對(duì)象都具有id和name兩個(gè)鍵。此外,我們還可以在對(duì)象中添加其他的鍵,以便更好地描述數(shù)據(jù)。
在接收到JSON數(shù)據(jù)的時(shí)候,我們可以使用一些JavaScript代碼來處理接收到的列表:
// 創(chuàng)建一個(gè)XMLHttpRequest對(duì)象 var xhr = new XMLHttpRequest(); // 指定處理響應(yīng)的函數(shù) xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { // 解析JSON數(shù)據(jù) var response = JSON.parse(xhr.responseText); // 遍歷列表并處理數(shù)據(jù) response.list.forEach(function(obj) { console.log("id: " + obj.id + ", name: " + obj.name); }); } else { console.log('請(qǐng)求失敗:' + xhr.status); } } }; // 發(fā)送異步請(qǐng)求 xhr.open('GET', '/api/v1/list', true); xhr.send(null);
在上面的代碼中,我們使用了XMLHttpRequest來發(fā)送異步請(qǐng)求。當(dāng)服務(wù)器返回?cái)?shù)據(jù)時(shí),我們可以使用JSON.parse函數(shù)將接收到的JSON數(shù)據(jù)解析為一個(gè)具有key-value對(duì)的JavaScript對(duì)象。接著,我們使用forEach函數(shù)遍歷列表,并輸出每個(gè)對(duì)象的id和name值。