js中的json對象詳細介紹

字號:


    1.JSON(JavaScript Object Notation)一種簡單的數(shù)據(jù)格式,比xml更輕巧。JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數(shù)據(jù)不需要任何特殊的API或工具包。
    JSON的規(guī)則很簡單:對象是一個無序的“‘名稱:值'對”集合。一個對象以“{”(左括號)開始,“}”(右括號)結(jié)束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值'對”之間使用“,”(逗號)分隔。
    規(guī)則如下:
    1)映射用冒號(“:”)表示。名稱:值
    2)并列的數(shù)據(jù)之間用逗號(“,”)分隔。名稱1:值1,名稱2:值2
    3) 映射的集合(對象)用大括號(“{}”)表示。{名稱1:值1,名稱2:值2}
    4) 并列數(shù)據(jù)的集合(數(shù)組)用方括號(“[]”)表示。
    [
    {名稱1:值,名稱2:值2},
    {名稱1:值,名稱2:值2}
    ]
    5 )元素值可具有的類型:string, number, object, array, true, false, null
    2.json中的五種寫法:
    1)傳統(tǒng)方式存儲數(shù)據(jù),調(diào)用數(shù)據(jù)
    代碼如下:
    <script type="text/javascript">
    //JS傳統(tǒng)方式下定義"類"
    function Person(id,name,age){
    this.id = id;
    this.name = name;
    this.age = age;
    }
    //JS傳統(tǒng)方式下創(chuàng)建"對象"
    var p = new Person(20141028,"一葉扁舟",22);
    //調(diào)用類中的屬性,顯示該Person的信息
    window.alert(p.id);
    window.alert(p.name);
    window.alert(p.age);
    </script>
    2)第一種樣式:
    代碼如下:
    <script type="text/javascript">
    var person = {
    id:001,
    name:"一葉扁舟",
    age:23
    }
    window.alert("編號:"+person.id);
    window.alert("用戶名:"+person.name);
    window.alert("年齡:"+person.age);
    </script>
    3)第二種樣式:
    <script type="text/javascript">
    var p = [
    {id:001,name:"一葉扁舟",age:22},
    {id:002,name:"無悔",age:23},
    {id:003,name:"無悔_一葉扁舟",age:24}
    ];
    for(var i = 0; i < p.length; i++){
    window.alert("編號:"+p[i].id);
    window.alert("用戶名:"+p[i].name);
    window.alert("年齡:"+p[i].age);
    }
    </script>
    4)第三種樣式:
    代碼如下:
    <script type="text/javascript">
    var p = {
    "province":[
    {"city":"福州"},
    {"city":"廈門"},
    {"city":"莆田"}
    ]
    };
    window.alert("所在城市:" + p.province[0].city);
    </script>
    5)第四種樣式:
    代碼如下:
    <script type="text/javascript">
    var p = {
    "ids":[
    {"id":001},
    {"id":002},
    {"id":003}
    ],
    "names":[
    {"name":"一葉扁舟"},
    {"name":"無悔"},
    {"name":"無悔_一葉扁舟"}
    ]
    };
    for(var i = 0; i < p.names.length; i++){
    window.alert("名字:"+p.names[i].name);
    }
    for(var i = 0; i < p.ids.length; i++){
    window.alert("id:"+p.ids[i].id);
    }
    </script>
    6)第五種樣式:
    代碼如下:
    <script type="text/javascript">
    var p = {
    "province":["福州","廈門","莆田"]
    };
    window.alert("城市的個數(shù):"+p.province.length);
    window.alert("分別是:n");
    for(var i=0;i<p.province.length;i++){
    window.alert(p.province[i]);
    }
    </script>