详解JSON

l       JSON(JavaScript Object  Notation)一种简单的数据格式,比xml更轻巧。sssJSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。

l       JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。

   规则如下:

       1)映射用冒号(“:”)表示。名称:值

       2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2

       3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2}

       4) 并列数据的集合(数组)用方括号(“[]”)表示。

         [

           {名称1:值,名称2:值2},

           {名称1:值,名称2:值2}

         ]

      5  元素值可具有的类型:string, number, object, array, true, false, null

 

json的用法举例:

<script type="text/javascript">
  //在js中,表示一个空的java对象:var  student = {} ;
  //1,一个最简单的json格式的对象
  var  person = {
     name : 'wzh' , 
     age : 25 ,
     email : '445782524@qq.com'   //最后一个元素不用逗号
  };
  window.alert(person.name) ;   //结果是:wzh

  //2,json对象的属性是个数组
  var demo1 = {
     student : [
        {
           name : '刘备' ,
           age : 66 , 
           address : '四川'
        },
        {
           name : '曹操' ,
           age : 55 , 
           address : '中原' 
        }
     ]
  };
  var hero = demo1.student[1] ;
  window.alert(hero.name) ;   //结果是:曹操

  //3,json格式的数组
  var  demo2 = [
         {
            id : '002',
            username:'root',
            password:'root'
         },
         {
            id:'031' ,
            username:'admin',
            password:'admin'
         }
  ];
  window.alert(demo2[1].username) ; //结果是:admin

  //4,json对象的属性是个对象
  var demo3 = {

         id :'001',

         teacher:{
            name : '小得子' ,
            age:26,
            email : 'xxx@xxx.com'
         }
  };
  window.alert(demo3.teacher.name) ;  // 结果是:小得子
  
  //5,json对象里可以存储键值对,key是字符串,value可以是数组字符串和对象等
  var myjson ={
        "team":[
           {"name":"aaa","age":14,"email":"aaa@a.com"},
           {"name":"bbb","age":15,"email":"bbb@b.com"},
           {"name":"ccc","age":16,"email":"ccc@c.com"}
        ],
        "name2":"twins",
        "single":{
           "name":"ddd",
           "age":16,
           "email":"ddd@d.com"
        }
  } ;
  alert(myjson.team[1].name) ;  //结果是bbb
  alert(myjson.name2) ;  //结果是twins
  alert(myjson.single.name) ;  //结果是ddd

 </script>

 

 

 

 

posted @ 2013-03-28 21:49  -1  阅读(423)  评论(0)    收藏  举报