javascript之JSON對象

來源:互聯網
上載者:User

標籤:log   style   name   hello   返回   span   對象序列化   支援   object   

 JSON是javascri Object Notatio(javascript對象標記法)的簡稱。它是一種輕量級的資料交換格式。

 JSON是javascript的一個嚴格的子集,是基於javascript的對象字面量標記法來表示結構化的資料。

1.JSON文法

   支援三種資料類型,注意:不支援變數、函數、對象執行個體。

  1.簡單值:可以表示字串、數字、布爾值、以及null。注意不支援undefined。字串必須使用雙引號。

     

  2.對象:表示無序的索引值對。對象沒有變數和分號。而且對象的屬性值必須加雙引號。

     example:

{"name":"tian""age":21,"school":"xidian"}

 

  3.數組:有序的值列表。數組沒有變數和分號。

  

[{ "title":"hello"}, "name",21,true ] 

二、JSON對象的方法

  1.stringify():把JSON對象序列化為JSON字串

      該方法接收三個參數;

       a.要序列化的JSON對象,必須的

       b.指定序列化的方式。是個過濾器。可以是數組,也可以是函數(成為過濾函數)

             若為數組,則篩選出數組中列出的屬性。

             若為函數,該函數接收兩個參數,屬性名稱key,屬性值value。根據函數的傳回值決定序列化的結果。對象的每個屬性都會經過過濾器。

             如果傳回值是undefined,則忽略相應的屬性。

       c.表示是否在JSON字串中保留縮排

          若為數字,縮排的字元數,結果也會包含分行符號。

          若為字串,將其作為縮排字元。

       d. 由於JSON.stringify()方法有時不能滿足某些對象序列化的而要求。有些時候,會給對象添加toJSON方法,返回其自身的JSON資料格式。

           toJSON()可以作為函數過濾器的補充。

    總結:JSON.stringify()的序列化對象的順序如下:

  • 如果javascript對象存在toJSON()方法,而且該方法能取得有效值,則調用該方法。否則,返回javascript對象對象本身。
  • 如果有第二個參數,應用這個函數過濾器。傳入過濾器的值是第一步返回的值。
  • 對第二步中返回的每個值進行相應的序列化。
  • 如果有第三個參數,執行相應的格式化。

  2.parse():把javascript字串解析為JSON對象     

       該方法接收三個參數;

            a.要解析的javascript字串,必須的

            b.還原函數,可選。應該用在每個索引值對。

javascript之JSON對象

聯繫我們

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