<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 閱讀(195) 評論(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基本一致。


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


    網站導航:
     
    主站蜘蛛池模板: 久久永久免费人妻精品| 国产免费看JIZZ视频| 国产大片91精品免费看3| 亚洲av成人综合网| 黄网站色在线视频免费观看| 亚洲妓女综合网99| 猫咪免费观看人成网站在线| 国产大片91精品免费看3| 日韩色日韩视频亚洲网站| 日本免费人成视频播放| 亚洲综合免费视频| 三年片在线观看免费大全| 亚洲日韩一区精品射精| 色欲国产麻豆一精品一AV一免费 | 国产男女性潮高清免费网站| 亚洲精华国产精华精华液| 欧洲人免费视频网站在线| 久久水蜜桃亚洲av无码精品麻豆 | 亚洲乱码中文字幕在线| 日本人护士免费xxxx视频| 深夜a级毛片免费视频| 日本亚洲国产一区二区三区| 日韩av无码久久精品免费| 美女视频黄免费亚洲| 免费一级黄色毛片| 中文字幕亚洲情99在线| 国产hs免费高清在线观看| 丁香花在线观看免费观看图片 | 国精无码欧精品亚洲一区| 亚洲视频在线免费看| 4480yy私人影院亚洲| 男男AV纯肉无码免费播放无码| 真正全免费视频a毛片| 亚洲理论电影在线观看| 18勿入网站免费永久| 无码人妻一区二区三区免费视频| 国产真实伦在线视频免费观看| 久久久久国色AV免费观看| 亚洲制服丝袜第一页| 日韩精品福利片午夜免费观着| 边摸边脱吃奶边高潮视频免费 |