使用PHP开发封装JSON或XML数据 PHP开发APP接口

使用PHP开发app后端的接口时,我们需要返回数据,最常用的就是XML和JSON格式的数据,那么样返回呢?

1.JSON

json数据是最容制造的,只要使用php自带的json_encode()函数就可以简单的制作出json数据了

2.XML

xml数据就要复杂一点了,让我们看一下xml数据的格式
这里写图片描述
那么怎样构造呢?  QQ好友列表获取

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格式数据:
这里写图片描述














  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值