JSON的基本概念和用法

JSON基本使用

<!DOCTYPE html>

<html>

  <head>

    <title>TestJson.html</title>

  </head>

  <body>

  <h3>获取JSON创建的对象</h3>

    <p>

       NAME:<span id="name"></span><br/>

       ADDRESS:<span id="address"></span><br/>

       AGE:<span id="age"></span><br/>

       PHONE:<span id="phone"></span><br/>

    </p>

    <h3>获取JSON创建的数组</h3>

    <p>

       <span id="jsonarray"></span>

    </p>

    <script type="text/javascript">

    //声明JSON对象

  var JSONobj={

      "name":"China-Anhui",

      "address":"白天鹅国际商务中心",

      "age":"22",

      "phone":"15966667777"

  };

  //声明JSON数组

  var JSONarray={

      "eat":[

          {"morning":"baozi1","lunch":"fish1","night":"noddle1"},

          {"morning":"baozi2","lunch":"fish2","night":"noddle2"}

      ],

      "交通工具":[

          {"car":"宝马","walk":"步行","other":"电动车"}

      ]

  };

  //向页面输出json对象信息

  document.getElementById("name").innerHTML=JSONobj.name;

  document.getElementById("address").innerHTML=JSONobj.address;

  document.getElementById("age").innerHTML=JSONobj.age;

  document.getElementById("phone").innerHTML=JSONobj.phone;

  //向页面输出JSON数组信息

  document.getElementById("jsonarray").innerHTML=JSONarray.eat[1].morning;

  //document.getElementById("jsonarray").innerHTML=JSONarray.交通工具[1].car;

  </script>

  </body>

</html>

JavaScript遍历JSON数组

<!DOCTYPE html>

<html>

  <head>

    <title>JSONarray.html</title>

  </head>

  <body>

    <script type="text/javascript">

       var data=[{name:"cat1",age:"12"},{name:"cat2",age:"13"},{name:"cat3",age:"14"}];

       //alert(data.length);

       //for循环遍历方式

       for(var i=0;i<data.length;i++){

          console.log("key:"+data[i].name+"---value:"+data[i].age);

       }

      

       //for...in方式遍历

       for(var da in data){

          console.log("key:"+data[da].name+";value:"+data[da].age+"");

       }     

    </script>

  </body>

</html>

 

JSON的应用

JSON 文本转为 JavaScript 对象

JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。

JSON 语法是 JavaScript 语法的子集,JavaScript函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:

<!DOCTYPE html>

<html>

  <head>

    <title>JSONarray.html</title>

  </head>

  <h3>获取JSON字符串创建的对象</h3>

  <p>

  <span id="firstName"></span><br/>

  <span id="lastName"></span>

  </p>

  <body>

    <script type="text/javascript">

       var txt = '{"employees":[' +

            '{"firstName":"Hello","lastName":"Anhui" },' +

            '{"firstName":"George","lastName":"Bush" },' +

            '{"firstName":"Thomas","lastName":"Carter" }]}';

      var obj = eval("("+txt+")");

      console.log(obj);

      document.getElementById("firstName").innerHTML=obj.employees[0].firstName;

      document.getElementById("lastName").innerHTML=obj.employees[0].lastName;

    </script>

  </body>

</html>

 

JSON解析器

使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。

<!DOCTYPE html>

<html>

  <head>

    <title>JSONarray.html</title>

  </head>

  <h3>获取JSON字符串创建的对象</h3>

  <p>

  <span id="firstName"></span><br/>

  <span id="lastName"></span>

  </p>

  <body>

    <script type="text/javascript">

       var txt = '{"employees":[' +

            '{"firstName":"Hello","lastName":"Anhui" },' +

            '{"firstName":"George","lastName":"Bush" },' +

            '{"firstName":"Thomas","lastName":"Carter" }]}';

      //var obj = eval("("+txt+")");

      var obj = JSON.parse(txt);

      console.log("JSON解析器:"+obj);

      document.getElementById("firstName").innerHTML="++"+obj.employees[0].firstName;

      document.getElementById("lastName").innerHTML="++"+obj.employees[0].lastName;

    </script>

  </body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值