PHP以json或xml格式返回請求資料

2021-07-22 22:06:59 字數 2444 閱讀 4467

無論是網頁還是移動端,都需要向伺服器請求資料,那麼作為php服務端,如何返回標準的資料呢?

現在主流的資料格式無非就是json和xml,下面我們來看看如何用php來封裝乙個返回這兩種格式資料的類

我們先定義乙個響應類

class response
1、以json格式返回資料

json格式返回資料比較簡單,直接將我們後台獲取到的資料,以標準json格式返回給請求端即可

//按json格式返回資料

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

$result=array(

"code"=>$code,

"message"=>$message,

"data"=>$data

);echo json_encode($result);

}

2、以xml格式返回資料

這種方式需要遍歷data裡面的資料,如果資料裡有陣列還要遞迴遍歷。還有一種特殊情況,當陣列的下標為數字時,xml格式會報錯,需要將xml中數字標籤替換

//按xml格式返回資料

public static function xmlencode($code,$message,$data=array())

$result=array(

"code"=>$code,

"message"=>$message,

"data"=>$data

);header("content-type:text/xml");

$xml="<?xml version='1.0' encoding='utf-8'?>";

$xml.="";

$xml.=self::xmltoencode($result);

$xml.="";

echo $xml;

}public static function xmltoencode($data)'";

$key="item";

}$xml.="< >";

$xml.=is_array($value)?self::xmltoencode($value):$value;

$xml.="";

}return $xml;}}

3、將兩種格式封裝為乙個方法,完整**如下:

class response

$result=array(

"code"=>$code,

"message"=>$message,

"data"=>$data

);if($type=='json')elseif($type=='xml')else

}//按json格式返回資料

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

$result=array(

"code"=>$code,

"message"=>$message,

"data"=>$data

);echo json_encode($result);

}//按xml格式返回資料

public static function xmlencode($code,$message,$data=array())

$result=array(

"code"=>$code,

"message"=>$message,

"data"=>$data

);header("content-type:text/xml");

$xml="<?xml version='1.0' encoding='utf-8'?>";

$xml.="";

$xml.=self::xmltoencode($result);

$xml.="";

echo $xml;

}public static function xmltoencode($data)'";

$key="item";

}$xml.="< >";

$xml.=is_array($value)?self::xmltoencode($value):$value;

$xml.="";

}return $xml;

}}$data=array(1,231,123465,array(9,8,'pan'));

response::show(200,'success',$data,'json');

這樣我們呼叫show方法時,需要傳遞四個引數,第四個引數為想要返回的資料格式,預設為json格式,效果如下:

我們再呼叫一次show方法,以xml格式返回資料:

response::show(200,'success',$data,'xml');
效果如下:

這樣我們就完成了對這兩種資料格式的封裝,可以隨意返回這兩種格式的資料了

PHP以json或xml格式返回請求資料的方法

無論是網頁還是移動端,都需要向伺服器請求資料,那麼作為php服務端,如何返回標準的資料呢?現在主流的資料格式無非就是json和xml,下面我們來看看如何用php來封裝乙個返回這兩種格式資料的類 我們先定義乙個響應類 class response 1 以json格式返回資料 json格式返回資料比較簡...

xml和json格式輸出

class response type isset get format get format self json result array code code,message message,data data if type json elseif type array elseif type ...

Redis 以JSON格式儲存物件

redis settings redis.host 192.168.0.106 redis.port 6379 redis.pass password redis.dbindex 0 redis.expiration 3000 redis.maxidle 300 redis.maxactive 60...