php中json数据和xml数据的制作
本文采用csdn数据处理
json数据:
public static function json($code,$message=’’,$data){
if(!is_numeric($code)){
return ‘’;
}
//拼装返回数据
$result=[
‘code’=>$code,
‘message’=>$message,
‘data’=>$data
];
return json_encode($result);
}
xml数据:
public static function xml($code,$message=’’,$data){
if(!is_numeric($code)){
return ‘’;
}
//拼装返回数据
$result=[
‘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数据
$xml.=self::createXml($data);
$xml.=</root>;
return $xml;
}
//制作xml函数
public static function createXml($data){
$xml=’’;
$arrt=’’;
foreach($data as $k=>$v){
if(is_numeric($k)){
//如果传递的数组有键值,需要进行判断
$arrt=”id=’{$key}’”;
$key=’item’;
}
$xml.=”<{$key} {$arrt}>”;
//如果$v是数组,直接进行递归
$xml.=is_array($value)?self::createXml($value):$value;
$xml.=”<{$key}>”;
return $xml;
}
}
//传递的数据$data
$data=[
‘id’=>1,
‘name’=>’zhangsan’,
‘content=>[
‘age’=>18,
‘sex’=>’女’
]
]
//我们可以测试一下
$json=self::json(200,’ok’,$data);
$xml=self::xml(200,’ok’,$data);
附:json数据格式
{
‘code’:200,
‘message’:’ok’,
‘data’:{
‘age’:‘18‘,
‘sex’:’女’
}
}
附:xml数据格式
<root>
<code>200</code>
<message>ok</message>
<data>
<age>18</age>
<sex>女</sex>
</data>
</root>