XML和JSON

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代码执行效果

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML)...
    iplaycodex阅读 828评论 0 4
  • 今个去面试,一个人事经理问我xml和json的区别我没答上来感觉很难过,于是就回来后就查阅相关资料写点东西:: 1...
    丁桥人在外地阅读 13,204评论 5 35
  • XML简介 HTML/XHTML/DHTML/XMLHTML: 网页文档XHTML:更严格的网页文档DHTML:B...
    Alone灬旅途阅读 215评论 0 1
  • XML和JSON是两种数据交换格式。 XML是老牌、经典、灵活的数据交换格式 JSON是比XML轻便的数据交换格式...
    KardelShaw阅读 843评论 0 1
  • 定义 XML 可扩展标记语言(英语:Extensible Markup Language,简称:XML).用来传输...
    lx_smile阅读 3,473评论 1 3

友情链接更多精彩内容