<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 15, comments - 6, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    JSON

    Posted on 2008-01-10 03:05 thomas.chen 閱讀(197) 評論(0)  編輯  收藏 所屬分類: JavaScript
     

    1.        JSON基礎

    1.1.      定義

    JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,易于閱讀和編寫,同時也易于機器解析和生成。它基于ECMA262語言規范(1999-12第三版)中JavaScript編程語言的一個子集。 JSON采用與編程語言無關的文本格式,但是也使用了類C語言(包括C C++ C# Java JavaScript Perl Python等)的習慣,這些特性使JSON成為理想的數據交換格式。

    JSON的結構基于下面兩點:

    1.      "名稱/"對的集合 不同語言中,它被理解為對象(object),記錄(record),結構(struct),字典(dictionary),哈希表(hash table),鍵列表(keyed list)

    2.      值的有序列表 多數語言中被理解為數組(array)

    1.2.      JSON使用

    JSON以一種特定的字符串形式來表示 JavaScript 對象。如果將具有這樣一種形式的字符串賦給任意一個 JavaScript 變量,那么該變量會變成一個對象引用,而這個對象就是字符串所構建出來的,好像有點拗口,我們還是用實例來說明。

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

    用戶ID

    用戶名

    用戶Email

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

    {"UserID":11,

     "Name":"Truly",

    "Email":"zhuleiprohotmail.com"};

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

    完整代碼:

    <script>

    var I = {"UserID":11,

    "Name":"Truly",

    "Email":"zhuleiprohotmail.com"};

    alert(User.Name);

    </script>

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

    {"UserID":11,

     "Name":{"FirstName":"Truly","LastName":"Zhu"},

    "Email":"zhuleiprohotmail.com"};

    完整代碼:

    <script>

    var User = {"UserID":11,

     "Name":{"FirstName":"Truly","LastName":"Zhu"},

    "Email":"zhuleiprohotmail.com"};

    alert(User.Name.FirstName);

    </script>

    現在我們增加一個新的需求,我們某個頁面需要一個用戶列表,而不僅僅是一個單一的用戶信息,那么這里就需要創建一個用戶列表數組。

    下面代碼演示了使用JSON形式定義這個用戶列表:

    [

    {"UserID":11,

    "Name":{"FirstName":"Truly","LastName":"Zhu"},

    "Email":"zhuleiprohotmail.com"},

    {"UserID":12,

    "Name":{"FirstName":"Jeffrey","LastName":"Richter"},

    "Email":"xxx@xxx.com"},

    {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"},

    "Email":"xxx2xxx2.com"}

    ]

    完整代碼:

    <script>

    var UserList = [

    {"UserID":11,

    "Name":{"FirstName":"Truly","LastName":"Zhu"},

    "Email":"zhuleiprohotmail.com"},

    {"UserID":12,

    "Name":{"FirstName":"Jeffrey","LastName":"Richter"},

    "Email":"xxx@xxx.com"},

    {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"},

    "Email":"xxx2xxx2.com"}

    ];

    alert(UserList[0].Name.firstName);

    </script>

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

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

    歸納總結:

    1.      對象是屬性、值對的集合。一個對象的開始于“{”,結束于“}”。每一個屬性名和值間用“:”提示,屬性間用“,”分隔。

    2.      數組是有順序的值的集合。一個數組開始于"[",結束于"]",值之間用","分隔。

    3.      值可以是引號里的字符串、數字、truefalsenull,也可以是對象或數組。這些結構都能嵌套。

    4.      字符串和數字的定義和CJava基本一致。


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品无码鲁网中文电影| 亚洲精品tv久久久久| 国内精自视频品线六区免费 | 在线观看www日本免费网站| 美女视频黄免费亚洲| 亚洲国产综合精品中文字幕 | 亚洲第一精品在线视频| 亚洲日本香蕉视频观看视频| 亚洲heyzo专区无码综合| 中文字幕无码毛片免费看| 亚洲精品国产免费| 亚洲天堂2016| 久久久精品视频免费观看| 国产成人无码免费看视频软件| 亚洲一区二区三区在线视频| 亚洲国产精品白丝在线观看| 91情侣在线精品国产免费| 亚洲 日韩经典 中文字幕 | 亚洲一区免费视频| 亚洲第一极品精品无码久久| 亚洲日本在线电影| 久久久久久影院久久久久免费精品国产小说 | 久久成人18免费网站| 亚洲AV无码一区二区三区DV| 国产亚洲精品91| 免费观看国产网址你懂的| 亚洲欧美日韩自偷自拍| 国产L精品国产亚洲区久久| 久久久久久久岛国免费播放| 亚洲香蕉在线观看| 亚洲精品456播放| 日韩免费高清大片在线| 国产亚洲精品无码成人| 免费在线视频你懂的| 黄页网站在线观看免费| 免费黄色小视频网站| 91亚洲精品麻豆| 最近最好最新2019中文字幕免费| 在线亚洲97se亚洲综合在线| 三年片在线观看免费观看大全中国 | 日本一道一区二区免费看|