zoukankan      html  css  js  c++  java
  • 04 json,xml混合封装通信

    <?php
    
    class Response_json_xml{
    
       public static function show($code,$message="",$data=array(),$type){
           if(is_null($code)){
            return '';
           }
           $data=array(
            'code'=>$code,
            'message'=>$message,
            'data'=>$data
           );
            if($type=="json"){
    
              self::json($code,$message,$data);die;
    
            }else if($type=="array"){
    
              var_dump($data);die; 
    
            }elseif($type=="xml"){
    
              self::xml_encoding($code,$message,$data);die;
           
            }else{
           
                //coding....
            }
    
       }
      /**
      *按json方式输出通信
      *@param integet $code 状态码
      *@param string $message 提示信息
      *@param array $data 数据
      * return string
      */
      public static function json($code,$message,$data=array()){
    
           if(is_null($code)){
            return '';
           }
           $result=array(
            'code'=>$code,
            'message'=>$message,
            'data'=>$data
           );
    
           echo json_encode($result);
           die;
    
      }
      /**
      *按xml方式输出通信
      *@param integet $code 状态码
      *@param string $message 提示信息
      *@param array $data 数据
      * return string
      */
      public static function xml_encoding($code,$message,$data=array()){
            
               if(is_null($code)){
                return '';
               }
               $result=array(
                'code'=>$code,
                'message'=>$message,
                'data'=>$data
               );
              header("Content-Type:text/xml");
             $xml ="<?xml version='1.0' encoding='UTF-8'?>
    ";
             $xml.="<root>
    ";
             $xml.=self::xml_array($result);
             $xml.="</root>
    ";
             echo $xml;
    
        }
        public static function xml_array($result){
            $xml=$attr="";
            foreach ($result as $key => $value) {
                if(is_numeric($key)){
                   $attr=" id='{$key}'";
                   $key="item";
                }
                $xml.="<{$key}{$attr}>
    ";
                $xml.=is_array($value)?self::xml_array($value):$value;
                $xml.="</{$key}>
    ";
            }
            return $xml;
        }
    
    }
       $data=array(
        'id'=>1,
        'name'=>'hgj123',
       );
       $data1=array(1,2,3,11,122);
       $type=isset($_GET['type'])?$_GET['type']:'json';
       Response_json_xml::show(200,'成功',$data,$type);
  • 相关阅读:
    Android将TAB选项卡放在屏幕底部(转)
    unix进程间通信
    C优先级顺序(转)
    C/C++ 内存补齐机制
    Android Sqlite ORM 工具
    类型安全性测试
    反射手册笔记 2.程序集,对象和类型
    CLR笔记:15.委托
    反射手册笔记 4.创建对象
    反射手册笔记 1.灵活的编程方法
  • 原文地址:https://www.cnblogs.com/hgj123/p/4353945.html
Copyright © 2011-2022 走看看