329 JSON介绍,Ajax中使用json


* JSON格式

(一)基本内容

1、JSON - JavaScript Object Notation(JS原生支持)

2、SON数据格式源于javascript

3、特点

​ * 易于程序员阅读和编写

​ * 易于计算机解析和生成

4、JSON目前是网络上使用最广泛的数据格式之一


(二)JSON的结构 【数组和对象相互嵌套,即{}和[]相互嵌套】

1、Array - 数组

2、Object - 对象

3、值可以是:

​ * String字符串

      \* Number数值

      \* Boolean - true|false

       \* Object

       \* Array

       \* null

(三)Ajax中的JSON格式

1、请求格式为JSON

     \* 客户端向服务器端发送请求为JSON格式的数据:构建符合JSON格式的字符串

2、保证定义字符串时, 使用单引号(里面使用双引号)

     \* 服务器端接收JSON格式的数据,接收客户端的数据

3、使用json_decode()函数进行解析

​ json_decode($json,true)

4、响应格式为JSON

​ (1)服务器端向客户端发送响应为JSON格式的数据

​ 使用json_encode()函数将PHP变量(array)转换成符合JSON格式的字符串.

​ (2)客户端接收JSON格式的数据:使用XMLHttpRequest对象的responseText属性接收。没有responseJSON属性

​ * 使用eval()函数进行转换

* 练习 - 使用JSON格式完成二级联动

<!DOCTYPE html>
<html>
 <head>
  <title>Ajax中的JSON格式</title>
  <meta charset="utf-8" />
 </head>

 <body>
  <input type="button" value="Ajax" id="btn">
  <script>
    var btn = document.getElementById("btn");
    btn.onclick = function(){
        var xhr = getXhr();
        xhr.open("post","10.php");
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        /*
         * 在客户端如何构建JSON格式
         * * 构建符合JSON格式的字符串
         */
        var user = '{"name":"zhangwuji","pwd":"123456"}';
        xhr.send("user="+user);
        xhr.onreadystatechange = function(){
            if(xhr.readyState==4&&xhr.status==200){
                var data = xhr.responseText;
                /*
                 * 使用eval()函数进行转换
                 * * 使用"()"将其包裹,eval()函数强制将其转换为JSON格式(javascript代码)
                 * * 不使用"()"将其包裹,eval()函数将其识别为一个空的代码块
                 */
                var json = eval("("+data+")");
                console.log(json);
            }
        }
    }
    function getXhr(){
        var xhr = null;
        if(window.XMLHttpRequest){
            xhr = new XMLHttpRequest();
        }else{
            xhr = new ActiveXObject("Microsoft.XMLHttp");
        }
        return xhr;
    }
  </script>
 </body>
</html>

(四)HTML(文本格式)、XML格式及JSON格式的优缺点

* HTML格式

      \* 优点 - 简单

     \* 缺点 - 解析复杂

* XML格式

     \* 优点 - 易于构建复杂数据

​ * 缺点 - 构建、解析复杂

* JSON格式

    \* 优点 - 轻量级

    \* 缺点 - 可能转换失败

猜你喜欢

转载自www.cnblogs.com/jianjie/p/12365242.html