PHP封装XML和JSON格式数据接口操作示例
时间:2022-07-27
本文章向大家介绍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.zalou.cn/code/xmljson
php代码在线格式化美化工具: http://tools.zalou.cn/code/phpformat
在线XML格式化/压缩工具: http://tools.zalou.cn/code/xmlformat
json代码在线格式化/美化/压缩/编辑/转换工具: http://tools.zalou.cn/code/jsoncodeformat
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浅谈Android中使用异步线程更新UI视图的几种方法
- Android gradle打包并自动上传的方法
- Android 后台发送邮件到指定邮箱
- Android中socketpair双向通信详解
- Android滚动条广告实现代码示例
- Android使用Recyclerview实现图片水平自动循环滚动效果
- Android selector的实例详解
- Android底部弹窗的实现示例代码
- Android编程实现自定义渐变颜色效果详解
- ES11屡试不爽的新特性,你用上了几个?
- Android设计模式之策略模式详解
- Android实现类似iOS风格的对话框实例代码
- Android 给图片加上水印的示例代码(支持logo+文字)
- Android studio 下JNI编程实例并生成so库的实现代码
- Android实现简单时钟View的方法