PHP封装XML和JSON格式数据接口操作示例

本文实例讲述了PHP封装XML和JSON格式数据接口操作。分享给大家供大家参考,具体如下:

使用PHP开发app后端的接口时,我们需要返回数据,最常用的就是XML和JSON格式的数据,那么样返回呢?

1.JSON

json数据是最容制造的,只要使用php自带的json_encode()函数就可以简单的制作出json数据了

2.XML

xml数据就要复杂一点了,让我们看一下xml数据的格式

那么怎样构造呢?

3.制作生产接口数据的类

<?php

//定义生成接口数据类

class Api

{

/*

* 生成json数据格式

* @param integer $code 状态码

* @param string $message 提示信息

* $param array $data 数据

* return string

*/

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

{

//如果状态码不是数字就返回空

if(!is_numeric($code)) {

return '';

}

//构造返回数据

$result = array(

'code' = > $code,

'message' => $message,

'data' => $data

);

return json_encode($result);

}

/*

* 生成xml数据格式

* @param integer $code 状态码

* @param string $message 提示信息

* @param array $data 数据

* return string

*/

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

{

if(!is_numeric($code)) {

return '';

}

$result = array(

'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 .= self::xmlToEncode($result);

$xml .= "</root>";

return $xml;

}

//构造xml数据函数

public static function xmlToEncode($data)

{

$xml = "";

$attr = "";

foreach($data as $key => $value)

{

//如果传递的数组是没有键值的话,<0>,<1>这种类型的节点是不合法的,所有就要判断了,如果是数字就这样<item id='0'>显示

if(is_numeric($key)) {

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

$key = "item";

}

//如果是数字就加上$attr

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

//如果value是数组就进行递归

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

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

}

return $xml;

}

}

//下面就来测试一下吧

$data = array(

'id' => 1,

'name' => 'zjp',

'content' => array(

'sex' => '男',

'age' => '24',

'num' => array(1,3,5,7,9)

)

);

$xml = Api::xml(200, "返回数据成功", $data);

$json = Api::json(200, "返回数据成功", $data);

?>

xml格式数据:上面那张介绍xml格式

json格式数据:

PS:本站还提供了如下XML与JSON相关工具,方便大家参考使用:

在线XML/JSON互相转换工具:

http://tools.jb51.net/code/xmljson

php代码在线格式化美化工具:

http://tools.jb51.net/code/phpformat

在线XML格式化/压缩工具:

http://tools.jb51.net/code/xmlformat

json代码在线格式化/美化/压缩/编辑/转换工具:

http://tools.jb51.net/code/jsoncodeformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

以上是 PHP封装XML和JSON格式数据接口操作示例 的全部内容, 来源链接: utcz.com/p/222667.html

回到顶部