Chinese To English     英文 轉 中文             
                   
          隨筆-27  評論-53  文章-0  trackbacks-0
          JSON以一種特定的字符串形式來表示 JavaScript 對象。如果將具有這樣一種形式的字符串賦給任意一個 JavaScript 變量,那么該變量會變成一個對象引用,而這個對象就是字符串所構建出來的,好像有點拗口,我們還是用實例來說明。

           這里假設我們需要創建一個User對象,并具有以下屬性

        1. 用戶ID
        2. 用戶名
        3. 用戶Email

          您可以使用以下JSON形式來表示User對象:

          {"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};

          然后如果把這一字符串賦予一個JavaScript變量,那么就可以直接使用對象的任一屬性了。

          完整代碼:

          <script>
          var User = {"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"}; alert(User.Name); </script>

          實際使用時可能更復雜一點,比如我們為Name定義更詳細的結構,使它具有FirstName和LastName:

          {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}

          完整代碼:

          <script>
          var User = {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}; alert(User.Name.FirstName); </script>

          現在我們增加一個新的需求,我們某個頁面需要一個用戶列表,而不僅僅是一個單一的用戶信息,那么這里就需要創建一個用戶列表數組。
          下面代碼演示了使用JSON形式定義這個用戶列表:

          [
          {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"},
          {"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"},
          {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"}
          ]


          完整代碼:

          <script>
          var UserList = [
          {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"},
          {"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"},
          {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"}
          ];
          alert(UserList[0].Name.FirstName);
          </script>

          事實上除了使用"."引用屬性外,我們還可以使用下面語句:

          alert(UserList[0]["Name"]["FirstName"]); 或者 alert(UserList[0].Name["FirstName"]); 

          現在讀者應該對JSON的使用有點認識了,歸納為以下幾點:

        4. 對象是屬性、值對的集合。一個對象的開始于“{”,結束于“}”。每一個屬性名和值間用“:”提示,屬性間用“,”分隔。
        5. 數組是有順序的值的集合。一個數組開始于"[",結束于"]",值之間用","分隔。
        6. 值可以是引號里的字符串、數字、true、false、null,也可以是對象或數組。這些結構都能嵌套。
        7. 字符串和數字的定義和C或Java基本一致。

        8. 此文轉載自:http://www.cnblogs.com/Truly/archive/2006/12/31/608896.html
          更多參考資料:http://www.ibm.com/developerworks/cn/web/wa-lo-json/



          杰森 
          郵箱:json.shen(at)gmail.com
          網站:www.shenjia.org
          posted on 2008-10-05 16:29 杰森 閱讀(1083) 評論(2)  編輯  收藏 所屬分類: JavaEE

          評論:
          # re: JSON-RPC-Java 學習筆記(二) - JSON使用 2008-12-03 15:53 | JAVA_START
          這東西不錯哦!  回復  更多評論
            
          # re: JSON-RPC-Java 學習筆記(二) - JSON使用 2008-12-03 16:37 | JAVA_START
          OK  回復  更多評論
            
          嗨117
          主站蜘蛛池模板: 公主岭市| 建始县| 花莲市| 容城县| 成武县| 富川| 华池县| 金秀| 兰州市| 兴仁县| 新邵县| 孟州市| 阿鲁科尔沁旗| 浦北县| 乐安县| 古田县| 大宁县| 祁连县| 庐江县| 桑日县| 吉安市| 敦煌市| 许昌县| 宽甸| 乐陵市| 墨江| 太仓市| 平度市| 昌都县| 元氏县| 淮滨县| 崇文区| 徐州市| 松阳县| 玉山县| 五华县| 鹰潭市| 凉城县| 南涧| 弥渡县| 宁陵县|