JSON-标准的数据交换格式

简介: JSON-标准的数据交换格式

一、JSON概述


1、什么是JSON,有什么用?


     JSON是一种行业内的数据交换格式标准

     JSON在JS中以JS对象的形式存在

     JavaScript Object Notation(JavaScript对象标记),简称JSON。(数据交换格式)

     JSON主要的作用是:一种标准的数据交换格式。(目前非常流行,90%以上的系统,系统A与系统B交换数据的话,都是采用JSON。)


2、JSON是一种标准的轻量级的数据交换格式。特点是:


     体积小,易解析。


3、在实际的开发中有两种数据交换格式,使用最多,其一是JSON,另一种是XML


     XML体积较大,解析麻烦,但是有其优点:语法严谨。(通常银行相关的系统之间进行数据交换的话会使用XML)


4、JSON的语法格式:


 

var jsonObj = {
      “属性名” : “属性值”,
      “属性名” : “属性值”,
      “属性名” : “属性值”,
      “属性名” : “属性值”,
      “属性名” : “属性值”
    };


示例代码:


<body>
  <script type="text/javascript">
  //创建JSON对象(JSON也可以称为无类型对象。轻量级,轻巧。体积小。易解析)
    var student = {
    "sno" : "100",
    "sname" : "zhagnsan",
    "sex" : "男"
    };
    alert(student.sno + "," + student.sname + "," + student.sex);
    //100,zhangsan,男
    //JSON数组
    var students = [
    {"sno":100,"sname":"zhangsan","sex":"男"},
    {"sno":120,"sname":"lisi","sex":"男"},
    {"sno":130,"sname":"wangwu","sex":"男"}
    ];
    //遍历
    for(var i=0;i<students.length;i++){
    alert(students[i].sno + "," + students[i].sname + "," + students[i].sex);//100,zhangsan,男
                 //120,lisi,男
                 //130,wangwu,男
    }
  </script>
  </body>


二、复杂的JSON对象


JSON里面放JSON数组

JSON里面放JSON对象


示例代码:


<body>
  <script type="text/javascript">
    var user = {
    "usercode" : "100",
    "username" : "zhangsan",
    "sex" : "男",
    "address" : {
      "city" : "美国",
      "street" : "纽约",
      "zipcode" : "008"
    },
    "aihoa" : ["smoke","drink","tt"]
    };
    //访问人名以及居住的城市
    alert(user.username + "居住在" + user.address.city);//zhangsan居住在美国
    /* 
     请自行设计JSON格式的数据,这个JSON格式的数据可以描述整个班级中每一个学生的信息,以及总人数信息。
    */
    var jsonData = {
    "total" : "3",
    "students" : [
      {username":"张三","brith":"1998-02-03"},
      {username":"李四","brith":"1997-02-03"},
      {username":"王五","brith":"1996-02-03"},
    ]
    };
  </script>
  </body>


三、JSON-eval函数


evaL函数的作用是:


将字符串当做一段JS代码解释并执行

java连接数据库,查询之后,将数据在java程序中拼接成json格式的字符串,将json格式的字符串响应到浏览器

也就是说java响应到浏览器上的仅仅是一个"json格式的字符串",还不是一个json对象

可以使用eval函数,将json格式的字符串转换成JSON对象


面试题:


     在JS代码当中:{}和[]有什么区别?

       []是数组。

       {}是JSON


      java中的数组:int[] arr = {1,2,3,4,5};

      jS中的数组:var arr = [1,2,3,4,5];

      JSON:var jsonObj = {“emaiL”:“fawaikaungtu@123.com”,“age”:“25”};


示例代码:


<body>
  <script type="text/javascript">
  window.eval("var i= 100");
  alert("i = " + i);//i=100
  var fromJava = "{\"name\":\"zhangsan\",\"password\":\"admin123\"}";
  //将以上的JSON格式的字符串转换成JSON对象
  window.eval("var jsonObj = " + fromJava);
  //访问json对象
  alert(jsonObj.name + "," + jsonObj.password);//在前端获取数据
        //zhangsan,afmin123
        var JSON = {
    "username":"zhangsan"
    };
  //在JS中访问json对象的属性
  alert(JSON.username);//zhangsan
  //在JS中访问json对象的属性
  alert(JSON["username"]);//zhangsan


四、把JSON数据渲染到表格中


实现代码:


<body>
  <script type="text/javascript">
    var Data = {
    "total":4,
    "emps":[
      {"empno":"71180","empname":"张三","sal":"10000"},
      {"empno":"71170","empname":"李四","sal":"20000"},
      {"empno":"71160","empname":"王五","sal":"30000"},
      {"empno":"71150","empname":"赵六","sal":"40000"}
    ]
    };
    window.onload = function(){
    document.getElementById("displayBtn").onclick = function(){
      var emps = Data.emps;
      var html = "";
      //遍历输出JSON数据
      for(var i=0;i<emps.length;i++){
      var emp = emps[i];
      html += "<tr>";
      html += "<td>"+emp.empno+"</td>";
      html += "<td>"+emp.empname+"</td>";
      html += "<td>"+emp.sal+"</td>";
      html += "</tr>";
      }
      document.getElementById("emptbody").innerHTML = html;
      document.getElementById("count").innerHTML = Data.total;
    }
    }
  </script>
  <input type="button" value="显示员工信息列表" id="displayBtn" />
  <h3>员工信息列表</h3>
  <hr>
  <table border="2px" width="50%">
             <tr>
       <td>员工编号</td>
       <td>员工名字</td>
       <td>员工薪资</td>
             </tr>
      <tbody id="emptbody">
         <!--<tr>
       <td>71180</td>
       <td>张三</td>
       <td>10000</td>
         </tr>
         <tr>
       <td>71170</td>
       <td>李四</td>
       <td>20000</td>
         </tr>
      <tr>
         <td>71160</td>
         <td>王五</td>
         <td>30000</td>
      </tr>
      <tr>
         <td>71150</td>
         <td>赵六</td>
         <td>40000</td>
      </tr> -->
      </tbody>
  </table>
  总共<span id="count">0</span>条数
  </body>


0a2653c851af460fa595bd959398a8f1.png


点击显示员工信息列表:


2d65d23f6d4748949b924e4057485923.png

相关文章
|
3月前
|
XML 存储 JSON
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
31 0
|
4月前
|
JSON JavaScript 数据格式
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
61 0
|
2月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
29 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
10天前
|
存储 JSON NoSQL
MongoDB的文档存储格式BSON和JSON的区别
MongoDB的文档存储格式BSON和JSON的区别
|
4月前
|
XML JSON Java
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
164 0
|
21天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
2月前
|
JSON fastjson Java
FastJSON操作各种格式的JSON数据
FastJSON处理各种格式的JSON数据
|
2月前
|
JSON C# 数据格式
C# 处理gzip格式的json
C# 处理gzip格式的json
19 0
|
3月前
|
JSON 数据格式
将json格式的数据快速转换为excel,使用在线工具轻松搞定
将json格式的数据快速转换为excel,使用在线工具轻松搞定
125 0
|
3月前
|
JSON 关系型数据库 MySQL
这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
【1月更文挑战第17天】【1月更文挑战第84篇】这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
34 1