XML和JSON

作者: XZ阳光小熊 | 来源:发表于2016-06-11 20:45 被阅读33次

    XML

    XML(eXtensible Markup Language)是一种可扩展的标记语言。

    标记语言(markup Language)是指在普通文本中加入一些具有特定含义的标签(Tag),以对文本的内容进行标识和说明的一种文件标识方法。

    一、XML编写规范

    XML类似于html的双标签的写法,它必须有根标签,必须是双标签而且必须是封闭,标签名全部都可以自定义。示例代码如下:

    <students>
        <student id="1">
            <name>3D哥</name>
            <age>18</age>
            <wife>***</wife>
        </student>
        <student id="1">
            <name>3D哥</name>
            <age>18</age>
            <wife>***</wife>
        </student>
        <student id="1">
            <name>3D哥</name>
            <age>18</age>
            <wife>***</wife>
        </student>
    </studnets>
    

    上面就是一段用于表示3个学生的信息的XML代码,我们将数据写成XML的文本代码,通过解析之后将数据传递到前端,实现前后台数据交互。由于传递相同数据时XML占用的空间更大,所以此处我们只做了解,至于如何解析,我们这里便不做描述。

    JSON

    一、JSON简介

    JSON(javaScript Object Notation)是一种轻量型的数据格式。JSON构建有两种结构:

    1、“名称/值”对的集合。不同的语言中,它被理解为对象,记录,结构,字典,哈希表,有键列表,或者关联数组,实例:

        $json = '{"name" : "xiaoming","age" : "18","gender" : "man"}';
        echo $json;
    
    代码执行效果

    2、值的有序列表。在大部分语言中,它被理解为数组。

    二、PHP接收和传递JSON

    1、json_decode($json, assoc ) — 对JSON格式的字符串进行编码。

    $json : 待解码的json,必须是string格式的字符串。
    assoc : 当参数为true返回数组,false返回对象,默认为false。

        $json = '{"name" : "xiaoming","age" : "18","gender" : "man"}';
        var_dump(json_decode($json)); // 返回对象
        echo "<hr/>";
        var_dump(json_decode($json,true));  // 返回数组
    
    代码执行效果
    2、json_encode() — 对变量进行JSON编码

    注意: 此函数只能接受UTF-8编码的数据。
    返回值: 编码成功则返回一个以json形式表示的string或者在失败时返回false。

        $json = array("name"=>"xiaoming", "age"=>"18", "gender"=>"man");
        print_r($json);
    
        echo "<hr/>";
        // 将数组转换成字符串格式的json对象
        echo json_encode($json);
    
    代码执行效果

    当我们把数据库中的数据取出来之后,经过PHP在后台进行JSON编码之后,通过echo输出在前端用ajax接收数据,即可实现前后台数据交互。

    <?php
    
        // 连接数据库
        $db = mysql_connect("localhost", "root", "");
    
        // 选择数据库
        mysql_select_db("girlDB");
    
        // 设置编码方式
        mysql_query("SET NAMES UTF8");
    
        // 查询数据库
        $sql = "SELECT * FROM girl";
        $res = mysql_query($sql);
    
        // 创建数组
        $array = array();
        // 取出数据库中的数据
        while ($row = mysql_fetch_assoc($res)) {
            $array[] = $row; //等同于array_push()
        };
    
        // 对数组进行字符串编码
        echo json_encode($array);
    
        // 关闭数据库
        mysql_close($db);
    
     ?>
    
    
    PHP代码执行效果

    以上内容纯属个人理解,由于本人水平有限,若有错漏之处敬请指出斧正,小弟不胜感激。

    相关文章

      网友评论

        本文标题:XML和JSON

        本文链接:https://www.haomeiwen.com/subject/dfjsdttx.html