php生成json或者xml数据
<?php
/**
* Created by PhpStorm.
* User: yihuaiyuan
* Date: 16/10/9
* Time: 上午9:47
*/
php生成json或者xml数据
vim Response.php
<?php
class Response{
/**
*按json方式输出通信数据
*@param integert $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 integert $code 状态码
*@param string $message 提示信息
*@param array $data 数据
*return string
*/
public static function xmlEncode($code,$message='',$data){
if(!is_numeric($code)){
return "";
}
$result=array(
'code' => $code,
'message' => $message,
'data' => $data
); header('Content-Type:text/xml');
$xml = "<?xml version='1.0' encoding='UTF-8'?> \n";
$xml.="<root> \n";
$xml.=self::xmlToEncode($result);
$xml.="</root>"; return $xml; }
public static function xmlToEncode($data){
$xml=$attr="";
foreach($data as $key=>$value){
if(is_numeric($key)){
$attr="id='{$key}'";
$key="item";
}
$xml.="<{$key}{$attr}>\n"; $xml.=is_array($value)?self::xmlToEncode($value):$value; $xml.="</{$key}> \n";
}
return $xml;
} /**
*按综合方式输出通信数据
*@param integert $code 状态码
*@param string $message 提示信息
*@param array $data 数据
*@param string $type 数据类型
*return string
*/
public static function show($code,$message='',$data=array(),$type='json'){
if(!is_numeric($code)){
return "";
}
$type=isset($_GET['format'])?$_GET['format']:$type;
$result=array(
'code' => $code,
'message' => $message,
'data' => $data
); if($type == 'json'){
$json = self::json($code,$message,$data);
return $json;
}elseif($type == 'array'){
return $result;
}elseif($type == 'xml'){
$xml = self::xmlEncode($code,$message,$data);
return $xml;
}else{
//TODO
}
}
}
?> vim test.php
<?php
/*直接调用*/
require_once('./Response.php');
$arr = array(
'id' =>1,
'name' => 'xiaoming'
);
$xml = Response::show(200,'数据返回成功',$arr);
echo $xml;
?>
php生成json或者xml数据的更多相关文章
- iOS开发——网络Swift篇&JSON与XML数据解析
JSON与XML数据解析 JSON数据解析(内置NSJSONSerialization与第三方JSONKit) 一,使用自带的NSJSONSerialization 苹果从IOS5.0后推出了SD ...
- Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面
一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...
- C#解析json和xml数据
C#解析json和xml数据 // 用到的包using Newtonsoft.Json; // using Newtonsoft.Json.Linq; const string value = &qu ...
- Qt读取JSON和XML数据
QJSON JSON(JavaScript Object Notation)是一个轻量级的数据交换格式; 可以将数据以name/value的形式任意组合; QJson 是一个基于Qt的库, 将JSON ...
- iOS-数据持久化基础-JSON与XML数据解析
解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 一.X ...
- json和xml数据的解析
一 json数据 1一条json就像一个对象,也想像OC中的数组,且内嵌了很多键值对字典 {"name" : "jack", "age" : ...
- 玩转iOS开发 - JSON 和 Xml 数据解析
前言 Json 和xml是网络开发中经常使用的数据格式,JSON轻量级.xml相对较复杂.所以如今用JSON的比例很大.基本上从server获取的返回数据都是JSON格式的,作为iOS开发人员,解析J ...
- 请求json和xml数据时的方式
当请求xml数据时,直接通过NSMutableData接收后解析, NSURL *url = [NSURL URLWithString:PATH]; _receiveData = [[NSMutabl ...
- 使用JSONObject类来生成json格式的数据
JSONObject类不支持javabean转json 生成json格式数据的方式有: 1.使用JSONObject原生的来生成 2.使用map构建json格式的数据 3.使用javabean来构建j ...
随机推荐
- php curl ftp上传 下载
下载 //初始化 $ch=curl_init(); //文件的准确路径url curl_setopt($ch,CURLOPT_URL,"ftp://192.168.151.126/wwwro ...
- pip/easy_install failure: failed to create process
使用pip install requests安装requests, 报错: failed to create process 解决方法: 执行Python -m pip install --upgra ...
- tornado 反向代理后 获取真实客户端IP
首先,nginx必定会设置一个Header传送过来真实的IP nginx.conf server { proxy_set_header X-Real-IP $remote_addr; location ...
- Nuget 常用命令
Update-Package -ProjectName 'NLog' -Reinstall 主题 about_NuGet 简短说明 提供有关 NuGet 程序包管理器命令的信息. 详细说明 本主题介绍 ...
- LAMP_01_Win下安装配置MySql
1.解压Mysql server到D盘配置环境变量MYSQL_HOME D:\J2EE\apache-ant-1.9.7PATH %MYSQL_HOME%\bin; 2 ...
- java 复制文件
package com.yunfengtech.solution.business; import java.io.*; public class copy { public static void ...
- linux php bom
之前都是用cleanbom.php来去除BOM的.今天运行提示没有异常文件,但是用Fiddler还是看到了EF BB BF,删除缓存也无效,将cleanbom.php上传到生产环境也提示没有异常. 这 ...
- C#构造函数在继承时必须要求与父类型构造函数入参相同怎么办?
摘要 我们都知道,C#中,在类型继承时,由于构造子类必须先构造其父类型的内容,因此,必须子类型的构造函数中调用父类型的构造函数(无参数的不需要显式声明). 但是往往我们会出现,子类型本身的构造函数大于 ...
- 查看APK方法数的工具dex-method-counts
做APK方法总能遇到方法数超限的问题(主要是方法数, 字段数, String数.等各种数都可能超过65k导致不能安装) 除了大公司都自己做了一些检查方法. 网上还有一些开源的查询工具. 给大家推荐一个 ...
- FPGA低级建模---按键去抖动
FPGA低级建模,原则上一个模块一个功能,如按键去抖动建模中,有两个模块. 1.detect_module 这个是按键检测模块,主要检测按键的高低电平变化,现在按键是按下还是释放. 2.delay_m ...