JSON 表達式


JSON語法規則:
    數據在名稱/值對中;
    數據由逗號分隔;
    大括號保存對象;
    中括號保存數組
1、訪問對象值:


   
   
  
  
          
  1. var myObj,x;
  2. myObj = {"name":"runoob","alexa":10000,"site":null};
  3. x = myObj.name; //使用點號(.)來訪問對象的值
  4. x = myObj["name"]; //使用中括號([])來訪問對象的值

2、使用for-in 來循環對象的屬性:


   
   
  
  
          
  1. <p id="demo"> </p>
  2. <script>
  3. var myObj = { "name": "runoob", "alexa": 10000, "site": null };
  4. for (x in myObj) {
  5. document.getElementById( "demo").innerHTML += x + "<br>";
  6. }
  7. </script>

3、for-in循環對象的屬性時,使用中括號([])來訪問屬性的值:


   
   
  
  
          
  1. <p id="demo"> </p>
  2. <script>
  3. var myObj = { "name": "runoob", "alexa": 10000, "site": null };
  4. for (x in myObj) {
  5. document.getElementById( "demo").innerHTML += myObj[x] + "<br>";
  6. }
  7. </script>

4、修改 JSON 對象的值: 

myObj.sites.site1 = "www.google.com";
  
  
 
 
         

5、刪除 JSON 對象的屬性: 

delete myObj.sites.site1;
  
  
 
 
         

5、使用索引值來訪問數組:


   
   
  
  
          
  1. <script>
  2. var myObj, x;
  3. myObj = { "name": "網站", "num": 3, "sites":[ "Google", "Runoob", "Taobao" ] }
  4. x = myObj.sites[ 0];
  5. document.getElementById( "demo").innerHTML = x;
  6. </script>

6、使用for-in 來訪問數組:


   
   
  
  
          
  1. <script>
  2. var myObj, i, x = "";
  3. myObj = {
  4. "name": "網站",
  5. "num": 3,
  6. "sites":[ "Google", "Runoob", "Taobao" ]
  7. };
  8. for (i in myObj.sites) {
  9. x += myObj.sites[i] + "<br>";
  10. }
  11. document.getElementById( "demo").innerHTML = x;
  12. </script>

******************************************************************************************************************************************
1、JSON 通常用於與服務端交換數據。在接收服務器數據時一般是字符串。我們可以使用 JSON.parse() 方法將數據轉換為 JavaScript 對象
語法: JSON.parse(text,reviver)
text:必需, 一個有效的 JSON 字符串。
reviver: 可選,一個轉換結果的函數, 將為對象的每個成員調用此函數。

var obj  = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
  
  
 
 
         

解析完成后,我們就可以在網頁上使用 JSON 數據了:


   
   
  
  
          
  1. <p id="demo"> </p>
  2. <script>
  3. var obj = JSON.parse( '{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
  4. document.getElementById( "demo").innerHTML = obj.name + ":" + obj.site;
  5. </script>

2、使用AJAX 從服務器請求 JSON 數據,並解析為 JavaScript 對象:

 


   
   
  
  
          
  1. var xmlhttp = new XMLHttpRequest();
  2. xmlhttp.onreadystatechange = function(){
  3. if(this.readyState == 4 && this.status == 200){
  4. myObj = JSON.parse(this.responseText);
  5. document.getElementById("demo").innerHTML = myObj.name;
  6. }};
  7. xmlhttp.open("GET","/try/ajax/json_demo.txt",true);
  8. xmlhttp.send();

3、 JSON.stringify()方法:
    JSON 通常用於與服務端交換數據。在向服務器發送數據時一般是字符串。我們可以使用 JSON.stringify() 方法將 JavaScript 對象轉換為字符串。
語法: JSON.stringify(value,replacer,space)
value:必需, 一個有效的 JSON 字符串。
replacer:可選。用於轉換結果的函數或數組。
如果 replacer 為函數,則 JSON.stringify 將調用該函數,並傳入每個成員的鍵和值。使用返回值而不是原始值。如果此函數返回 undefined,則排除成員。根對象的鍵是一個空字符串:""。
如果 replacer 是一個數組,則僅轉換該數組中具有鍵值的成員。成員的轉換順序與鍵在數組中的順序一樣。當 value 參數也為數組時,將忽略 replacer 數組。
space:可選,文本添加縮進、空格和換行符,如果 space 是一個數字,則返回值文本在每個級別縮進指定數目的空格,如果 space 大於 10,則文本縮進 10 個空格。space 有可以使用非數字,如:\t。


   
   
  
  
          
  1. var obj = {"name":"runoob","alexa":10000,"site":"www.runoob.com"};
  2. var myJSON = JSON.stringify(obj);
  3. document.getElementById("demo").innerHTML = myJSON;

JavaScript 函數 eval() 可用於將 JSON 文本轉換為 JavaScript 對象:


   
   
  
  
          
  1. var txt = '{ "sites" : [' +'{"name":"菜鳥教程" , "url":"www.runoob.com" },' +'{ "name":"google" , "url":"www.google.com" },'+'{ "name":"微博" , "url":"www.weibo.com" } ]}';
  2. var obj = eval("("+ txt + ")");
  3. document.getElementById("name").innerHTML=obj.sites[0].name
  4. document.getElementById("url").innerHTML=obj.sites[0].url

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM