JSON的使用及簡單案例

來源:互聯網
上載者:User

1.JSON 概念:JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。它基於JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON採用完全獨立於語言的文字格式設定,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的資料交換語言。易於人閱讀和編寫,同時也易於機器解析和產生。

2.JSON基礎結構:JSON建構與兩種結構

.“名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),記錄(record),結構(struct),字典(dictionary),雜湊表(hash
table),有鍵列表(keyed list),或者關聯陣列(associative array)。

     按照最簡單的形式,可以這樣表示名稱 / 值對: { "firstName": "Brett" } ,這個樣本非常基本,而且實際上比等效的純文字名稱 / 值對佔用更多的空間: firstName=Brett ,但是,當將多個名稱 / 值對串在一起時,JSON 就會體現出它的價值了。首先,可以建立包含多個名稱 / 值對的 記錄,比如:

 { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }

     從文法方面來看,這與名稱 / 值對相比並沒有很大的優勢,但是在這種情況下 JSON 更容易使用,而且可讀性更好

. 值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)。

     當需要表示一組值時,JSON 不但能夠提高可讀性,而且可以減少複雜性。

     { "people": [

  { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

  { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},

  { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }

  ]}

  這些都是常見的資料結構。事實上大部分現代電腦語言都以某種形式支援它們。這使得一種資料格式在同樣基於這些結構的程式設計語言之間交換成為可能。

3.應用案例:

<--  引入JSON指令碼  -->

<script language="javascript" src="${pageContext.request.contextPath}/js/json2.js"></script>

 

<script type="text/javascript" language="javascript">
        
      //1.Json串存一個字串
      var _jStr=new Object();
      var  _username="AA";                                                                                                                                                                                                                                                                           
var _password="BB";
      
       //2.Json串存一個普通數組
      var _array=new Array();
      _array.push(1);
      _array.push(2);
      _array.push(3);
      _jStr.username=_username;
      _jStr.password=_password;
      _jStr.array=_array;
           
     var jStr=JSON2.stringify(_jStr);
        
     //3.Json串傳遞一個Json對象
     var _jStr1=new Object();
     _jStr1.jStr1=_jStr;  //_jStr1.jStr1=jStr;   
    
     var jStr1=JSON2.stringify(_jStr1);
    
     //4.JSON傳一個JSON數組
     var _jStr2=new Object();
     var _array1=new Array();
     _array1.push(_jStr);
     _array1.push(_jStr1);
     _jStr2.array1=_array1;
    
     var jStr2=JSON2.stringify(_jStr2)
    
      alert("帶數組參數的JSON串:"+jStr);     
      alert("帶JSON串的JSON串:"+jStr1);
      alert("帶JSON數組的JSON串:"+jStr2);
      alert("未被轉化的JSON對象:"+_jStr1);
</script>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.