PHP返回JSON和XML类

 1 <?php

 2     class Reponse{

 3         //private $result = array('code'=null,'message'=null,'data'=>null);

 4         /**

 5          * @desc 返回JSON格式

 6          * @param int $code 

 7          * @param string $message 

 8          * @param array  $data

 9          * return string

10          */

11         public static function json($code,$message = null,$data = array()){

12             if(!is_numeric($code)){

13                 return false;

14             }

15             $result = array(

16                 'code'=>$code,

17                 'message'=>$message,

18                 'data'=>$data

19             );

20             return json_encode($result);

21             exit;

22         }

23         

24         /**

25          * @desc 返回xml格式数据

26          * @parma int $code 状态码

27          * @param string $message 提示

28          * @param array $data 数据

29          * return string 

30          */

31          public static function xml($code,$message = '',$data = array()){

32             if(!is_numeric($code)){

33                 return false;

34             }

35             $result = array(

36                 'code'=>$code,

37                 'message'=>$message,

38                 'data'=>$data

39             );

40             $xml = '';

41             

42             $xml .= "<?xml version='1.0' encoding='UTF-8'?>\n";

43             $xml .= "<root>\n";

44             $xml .= self::xmlEncode($result);

45             $xml .= "</root>";

46             header("Content-Type:text/xml");

47             echo $xml;

48 

49          }

50          

51          public static function xmlEncode($result){

52             $xml = $attr ='';

53             foreach($result as $key=>$val){

54                 if(is_numeric($key)){

55                     $attr = "id='{$key}'";

56                     $key = "item{$key}";

57                 }

58                 $xml .= "<{$key} {$attr}>";

59                 

60                 $xml .= is_array($val) ? self::xmlEncode($val) : $val;

61             

62                 $xml .= "</{$key}>\n";

63             }

64          

65             return $xml;

66          

67          }

68          

69     }

70     

71     $data = array(

72         'id'=>1,

73         'age'=>20,

74         'username'=>'tim',

75         'others'=>array(1,2,3),

76     );

77     Reponse::xml(200,'success',$data);

78     Reponse::json(200,'success',$data);

 

你可能感兴趣的:(返回JSON)