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);
  • 相关阅读:
    关于Vuex的actions传入多个参数的方法:
    2019最新create-react-app创建的react中使用sass/scss,以及在react中使用sass/scss公共变量的方法
    vue中怎么使用vuex
    分享一个知乎答案 最详细易懂的 js闭包
    web前端 在react中使用移动端事件,学习笔记
    闭包
    原生ajax练习-post&xml
    Ajax中Get请求与Post请求的区别
    css文件编码
    template.js模板工具案例
  • 原文地址:https://www.cnblogs.com/hgj123/p/4353945.html
Copyright © 2011-2022 走看看