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 杰森 閱讀(1084) 評論(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
          主站蜘蛛池模板: 靖边县| 东台市| 旬邑县| 海原县| 乌拉特后旗| 贡觉县| 曲靖市| 炉霍县| 淮北市| 分宜县| 玛纳斯县| 明光市| 宜良县| 湖州市| 合水县| 兴国县| 武山县| 金堂县| 新巴尔虎右旗| 祁连县| 蓬莱市| 西充县| 湟源县| 彩票| 大宁县| 韶山市| 临武县| 金阳县| 城固县| 元谋县| 澄江县| 刚察县| 海晏县| 城步| 靖边县| 临澧县| 浮梁县| 鹿泉市| 泰来县| 秀山| 山东省|