亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

JSON.parse() 解析

JSON用于與Web服務(wù)器交換數(shù)據(jù)。從Web服務(wù)器接收數(shù)據(jù)時(shí),數(shù)據(jù)始終是字符串。

該JSON.parse()方法解析JSON字符串,以構(gòu)造JavaScript值或該字符串描述的對(duì)象。

語法:

JSON.parse(text, reviver)

第一個(gè)參數(shù)指定要解析為JSON的字符串。

可選的第二個(gè)參數(shù)指定一個(gè)在返回值之前檢查每個(gè)屬性的函數(shù)。

解析JSON

假設(shè)我們從Web服務(wù)器收到以下文本:

 '{"name":"Seagull", "age":22, "city":"New Delhi"}'

使用該JSON.parse()方法,我們可以將JSON文本轉(zhuǎn)換為JavaScript對(duì)象:

var myObj = JSON.parse('{"name":"Seagull", "age":22, "city":"New Delhi"}');
測試看看?/?

來自服務(wù)器的JSON

您可以使用AJAX請(qǐng)求從服務(wù)器請(qǐng)求JSON。

如果來自服務(wù)器的響應(yīng)以JSON格式編寫,則可以將字符串解析為JavaScript對(duì)象。

以下示例請(qǐng)求文件demo.json并解析響應(yīng):

var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
   if (this.readyState === 4 && this.status === 200) {
      var myObj = JSON.parse(this.responseText);
      document.getElementById("output").innerHTML = myObj.name;
   }
};
httpRequest.open("GET", "demo.json", true);
httpRequest.send();
測試看看?/?

數(shù)組作為JSON

JSON.parse()在從數(shù)組派生的JSON上使用方法,該方法將返回JavaScript數(shù)組,而不是JavaScript對(duì)象。

以下示例請(qǐng)求文件json_array.txt并解析響應(yīng):

var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
   if (this.readyState === 4 && this.status === 200) {
      var myArr = JSON.parse(this.responseText);
      document.getElementById("output").innerHTML = myArr[0];
   }
};
httpRequest.open("GET", "json_array.txt", true);
httpRequest.send();
測試看看?/?

解析日期

JSON中不允許使用日期對(duì)象。

如果需要包括日期,則將其寫為字符串,然后稍后將其轉(zhuǎn)換回日期對(duì)象。

var myJSON = '{"name":"Seagull", "birth":"1997-11-10", "city":"New Delhi"}';
var myObj = JSON.parse(myJSON);
myObj.birth = new Date(myObj.birth);

document.getElementById("output").innerHTML = myObj.name + " DOB is " + myObj.birth;
測試看看?/?

注意:將字符串轉(zhuǎn)換為本地對(duì)象稱為解析,而將本地對(duì)象轉(zhuǎn)換為可以在網(wǎng)絡(luò)上傳輸?shù)?em>字符串稱為字符串化