DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 詳讀JSON對象標記的技巧及其困難
詳讀JSON對象標記的技巧及其困難
編輯:XML詳解     

JSON對象標記對XML的解析是基於DOM的,對Html的DOM熟悉的話,解析XML就沒什麼困難了。注意:在Firefox中,解析器不會忽略空格,所以元素間的空格,FF一樣會認為是一個節點。

一、JSON對象標記(JavaScript Object Notation),是一種以JS聲明對象的方式組合的一串字符串。JS可以按以下方式定義對象:

  1. var obj =  
  2. {  
  3. id: 2,  
  4. name: 'n'  
  5. }; 

這樣就定義了對象 obj, 它有兩個公共屬性id和name,可以用 obj.id 的方式直接訪問其屬性值。從服務器獲取數據時往往不止一個對象,這就需要用到對象數組,JS中對象數組可以用 [] 來定義,如下:

  1. var obJS = [{ id: 1, name: 'n_1' }, { id: 2, name: 'n_2'}];  
  2.         alert(obJS[0].id); 

這樣就定義了對象數組 objs, 它包含兩個對象,可以用索引來訪問,如 objs[0] 將引用到第一個對象。到這裡你或許已經想到服務器返回的字符串格式是怎樣的,但字符串畢竟是字符串,我們需要將其轉換為可以利用JS操作的變量。這就用到 eval 函數,請看下例:

  1. var obJS = eval("[{ id: 1, name: 'n_1' }, { id: 2, name: 'n_2'}]");  
  2. lert(obJS[0].id); // return 1 

JSON對象標記在Default.ASPx 文件中添加測試腳本:

  1. <script type="text/Javascript"> 
  2.         function getJSon() {  
  3.             // 在IE7下測試通過,IE6下必須創建 new ActiveXObject("MSXML2.XMLHTTP.6.0")  
  4.             var request = new XMLHttpRequest();  
  5.  
  6.             request.open('GET', 'GetJSon.ashx');  
  7.             request.onreadystatechange = function() {  
  8.                 if (request.readyState == 4 && request.status == 200) {  
  9.                     var obJS = eval(request.responseText);  
  10.                     alert(obJS.length); // 2  
  11.                     alert(obJS[0].id);  // 1  
  12.                     alert(obJS[1].name);// 'n_2'  
  13.                 }  
  14.             }  
  15.             request.send(null);  
  16.         }  
  17.     </script> 

【編輯推薦】

  1. 探索JSON格式封裝的使用方法
  2. 探索非同凡響的JSon數據格式說明
  3. 大致闡述JSON數據格式的編寫與運行方式
  4. 在JavaScript中串行化為JSON—使用json2.JS
  5. 幾分鐘簡述JSON對象的相關技巧
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved