PHP封装XML和JSON格式数据接口

发布时间:2024-12-25 点击:55
使用php开发app后端的接口时,我们需要返回数据,最常用的就是xml和json格式的数据,那么样返回呢?
1.json
json数据是最容制造的,只要使用php自带的json_encode()函数就可以简单的制作出json数据了
2.xml
xml数据就要复杂一点了,让我们看一下xml数据的格式
那么怎样构造呢?
3.制作生产接口数据的类
<?php //定义生成接口数据类 class api { /* * 生成json数据格式 * @param integer $code 状态码 * @param string $message 提示信息 * $param array $data 数据 * return string */ public static function json($code, $message = '', $data = array()) { //如果状态码不是数字就返回空 if(!is_numeric($code)) { return ''; } //构造返回数据 $result = array( 'code' = > $code, 'message' => $message, 'data' => $data ); return json_encode($result); } /* * 生成xml数据格式 * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 数据 * return string */ public static function xml($code, $message = '', $data = array()) { if(!is_numeric($code)) { return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data ); //构造xml数据 //使返回的数据以xml格式显示 header(content-type:text/xml); //开始拼xml数据 $xml = <?xml version='1.0' encoding='utf-8'?>; //根节点 $xml .= <root>; //创建一个额外函数来构造 $xml .= self::xmltoencode($result); $xml .= </root>; return $xml; } //构造xml数据函数 public static function xmltoencode($data) { $xml = ; $attr = ; foreach($data as $key => $value) { //如果传递的数组是没有键值的话,<0>,<1>这种类型的节点是不合法的,所有就要判断了,如果是数字就这样<item id='0'>显示 if(is_numeric($key)) { $attr = id = '{$key}'; $key = item; } //如果是数字就加上$attr $xml .= <{$key}{$attr}>; //如果value是数组就进行递归 $xml .= is_array($value) ? self::xmltoencode($value) : $value; $xml .= </{$key}>; } return $xml; } } //下面就来测试一下吧 $data = array( 'id' => 1, 'name' => 'zjp', 'content' => array( 'sex' => '男', 'age' => '24', 'num' => array(1,3,5,7,9) ) ); $xml = api::xml(200, 返回数据成功, $data); $json = api::json(200, 返回数据成功, $data); ?>xml格式数据:上面那张介绍xml格式
json格式数据:


手机桌面自动换壁纸怎么关 手机取消自动换壁纸的详细步骤
阿里云服务器10g内存域名租赁费
企业建网站是不是一定要备案
成都云服务器怎么样
文件管理打不开换了几个浏览器还是不行
如何注册小程序域名
打印机上复印10份怎么设置
3月份开年采购季云服务器秒杀