当前位置:   article > 正文

[JavaScript]JSON对象_js json撖寡情

js json撖寡情

eval函数

eval函数能将一个字符串当做一段JS代码解释并执行。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.    <script>
  11.        window.eval("var i=100")
  12.        //var i=100
  13. //控制台输出100
  14.        console.log(i);
  15.    </script>
  16. </body>
  17. </html>

JSON概述

1.什么是JSON?

JavaScript Object Notation(JavaScript标记对象),简称JSON。

JSON是一种轻量级的数据交换格式。

轻量级:体现在JSON的体积小,但可以表示的数据很多。

数据交换:例如C语言查询数据库之后(JDBC),拼接了一个JSON格式的字符串。C语言通过网络的方式传给了Java。Java语言接收到了这个JSON字符串之后,开始解析JSON,获取JSON中的数据。这样C语言和Java语言就完成了数据的交换。

在现代的开发中,能够做数据交换的有两个:JSON、XML,他们都是非常标准的数据交换格式。XML体积大,解析难度大,一般和钱有关系,严谨的系统都会采用XML进行数据交换。JSON体积小,解析更容易。XML和JSON相比来说,XML的语法严格,JSON的语法相对松散。

2.在JavaScript中,JSON是以对象的形式存在的。

3.在JavaScript中,怎么定义JSON格式的对象,怎么访问对象的属性?

语法格式:

  1. var jsonObj={
  2. "属性名":属性值,
  3. "属性名":属性值,
  4. "属性名":属性值,
  5. ......
  6. }

属性值可以是任意类型。

JSON是一种无类型对象,直接用一个大括号包起来就是一个JSON对象

4.注意:在JS中[]和{}有什么区别?

  • [] 是数组对象

  • {} 是JSON对象

  1. <script>
  2.        var emp = {
  3.            "empno": 7369,
  4.            "ename": "smith",
  5.            "sal": 800
  6.       }
  7.        //访问方式1
  8.        console.log(emp.empno);
  9.        //访问方式2
  10.        console.log(emp["empno"]);
  11.        var person = {
  12.            "name": "张三",
  13.            "sex": false,
  14.            "aihao": ["抽烟", "喝酒", "烫头"]
  15.       }
  16.        console.log(person.name);
  17.        console.log(person.sex ? "男" : "女");
  18.        var aihaos = person.aihao;
  19.        for (var i = 0; i < person.aihao.length; i++) {
  20.            console.log(aihaos[i]);
  21.       }
  22.    </script>

 

 

  1. <script>
  2.        // var addr = {
  3.        //     "city": "北京",
  4.        //     "street": "大兴"
  5.        // }
  6.        // var user = {
  7.        //     "username": "zhangsan",
  8.        //     "password": "123456",
  9.        //     "address": addr
  10.        // }
  11.        var user = {
  12.            "username": "zhangsan",
  13.            "password": "123456",
  14.            "address": {
  15.                "city": "北京",
  16.                "street": "大兴"
  17.           }
  18.       }
  19.        console.log(user.username + "居住在" + user.address.city);
  20.    </script>

 

 

描述全班学生的JSON对象

设计一个JSON格式的数据能够表示全班人数和每个学生信息。

  1. <script>
  2.        var students = {
  3.            "total": 3,
  4.            "data": [{ "name": "zhangsan", "age": 20 },
  5.           { "name": "lisi", "age": 19 },
  6.           { "name": "wangwu", "age": 21 }]
  7.       }
  8.        //访问以上的JSON对象,将总人数取出,将每个学生的信息取出
  9.        console.log("总人数:"+students.total);
  10.        //访问每一个学生数据
  11.        var arr=students.data;
  12.        for(var i=0;i<arr.length;i++){
  13.            var student=arr[i];
  14.            console.log(student.name+","+student.age);
  15.       }    
  16.    </script>

 

JSON用于交换数据

  1. <script>
  2.        //java和JavaScript两个语言的数据交换
  3.        //双引号中是一个普通字符串,这个字符串是java给浏览器的,\"转义为'
  4.        var fromJavaJSON = "{\"name\":\"zhangsan\",\"age\":20}";
  5.        //将JSON格式的字符串转为JSON对象,转换成JSON对象的目的是取数据
  6.        //这样js和java之间两种不同的编程语言就完成了数据交换
  7.        window.eval("var stu=" + fromJavaJSON)
  8.        console.log(stu.name + "," + stu.age);
  9. </script>

 

解析JSON动态生成表格

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.    <script>
  11.        //从java过来一个JSON格式的字符串
  12.        var fromJava = "{\"total\": 3,\"data\": [{ \"name\": \"zhangsan\", \"age\": 20 },{ \"name\": \"lisi\", \"age\": 19 },{ \"name\": \"wangwu\", \"age\": 21 }] }";
  13.        window.onload = function () {
  14.            document.getElementById("btn").onclick = function () {
  15.                //解析上面的json格式的字符串,将解析出来的数据放到tbody中
  16.                window.eval("var json=" + fromJava)
  17.                //设置总记录条数
  18.                document.getElementById("totalSpan").innerHTML = json.total;
  19.                //拼接HTML
  20.                var studentArray = json.data;
  21.                var html = "";
  22.                for (var i = 0; i < studentArray.length; i++) {
  23.                    var s = studentArray[i];
  24.                    html += "<tr>";
  25.                    html += "<td>" + (i + 1) + "</td>";
  26.                    html += "<td>" + s.name + "</td>";
  27.                    html += "<td>" + s.age + "</td>";
  28.                    html += "</tr>";
  29.               }
  30.                //将以上拼接的HTML设置到tbody中
  31.                document.getElementById("stutbody").innerHTML = html;
  32.           }
  33.       }
  34.    </script>
  35.    <input type="button" value="查询学生信息列表" id="btn">
  36.    <table border="1px" width="40%">
  37.        <tr>
  38.            <th>序号</th>
  39.            <th>姓名</th>
  40.            <th>年龄</th>
  41.        </tr>
  42.        <tbody id="stutbody">
  43.            <!-- <tr>
  44.                <td>1</td>
  45.                <td>张三</td>
  46.                <td>19</td>
  47.            </tr>
  48.            <tr>
  49.                <td>2</td>
  50.                <td>李四</td>
  51.                <td>20</td>
  52.            </tr> -->
  53.        </tbody>
  54.    </table>
  55.    总记录条数:<span id="totalSpan">0</span>
  56. </body>
  57. </html>

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/585197
推荐阅读
相关标签
  

闽ICP备14008679号