xml和json格式输出

<?php

class Response{

const JSON =‘json‘;

/*

* 按综合方式输出通信数据

* @param integer $code 状态码

* @param string $message 提示信息

* @param array $data 数据

* @param string $type 数据类型

* return string

*/

public static function show($code,$message=‘‘,$data=array(),$type=self::JSON){

if (!is_numeric($code)) {

return ‘‘;

}

$type = isset($_GET[‘format‘]) ? $_GET[‘format‘] : self::JSON;

$result = array(

‘code‘ => $code,

‘message‘ => $message,

‘data‘ => $data

);

if($type == ‘json‘){

self::json($code,$message,$data);

}elseif ($type == ‘array‘) {

//用于调试

var_dump($result);

}elseif ($type == ‘xml‘) {

self::xmlEncode($code,$message,$data);

}else{

// TODO

}

}

/*

* 按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

);

echo json_encode($result);

exit;

}

/*

* 按XML方式输出通信数据

* @param integer $code 状态码

* @param string $message 提示信息

* @param array $data 数据

* return string

*/

public static function xmlEncode($code,$message=‘‘,$data=array()){

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‘ ?>";

$xml .= "<root>\n";

//拼接xml数据格式

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

$xml .= "</root>";

echo $xml;

exit;

}

public static function xmlToEncode($data){

$xml = "";

$attr = "";

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

if(is_numeric($key)){

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

$key = "item";

}

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

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

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

}

return $xml;

}

}

?>

来自为知笔记(Wiz)

时间: 2024-12-29 11:02:25

xml和json格式输出的相关文章

API 设置输出格式可以为XML和Json格式

Accept : application/xml Accept: application/json //如下设置可以支持xml和json格式输出.默认输出格式为json services.AddControllers(configure: setup => { setup.ReturnHttpNotAcceptable = true; }).AddXmlDataContractSerializerFormatters(); //默认输出格式为Json,现在把默认格式给为XML格式输出 servi

web Api自定义部分Action的JSON格式输出

昨天项目中要部分Api的JSON格式需要特殊处理.最开始直接重写controller的JSON方法.经测试,当action直接返回数据的时候,不会调用Json方法. 然后找了各种方法,都不行.在群里问了.直到看到群友发的一个直接移除所有API的JSON格式方法的时候.图片如下: 然后就想到了Api的ActionFilterAttribute.就解决了自己的需求. 上代码.懒得写说明. 1 public class AppFilterAttribte : ActionFilterAttribute

java XML转JSON格式

标签: XML转Json json 2014-05-20 20:55 6568人阅读 评论(6) 收藏 举报  分类: [J2SE基础](20)  代码如下所示,从这个例子中发现了代码库的重要性,如果建立一个自己的代码库,就可以直接从自己的代码库中取出来,这样需要什么就可以随时的取出来.代码库要保证的是规范性和正确性,并且有简单的模块注释. 这是今天在网上找到的XML转json格式的代码,人家封装的很快,节省了我很多时间啊. [java] view plain copy print? impor

JSON格式输出Struts2

public void JSON(Object object,String charset){   getHttpResponse().setCharacterEncoding(charset);   getHttpResponse().setContentType("text/html;charset="+charset);   try {    JSONUtil.serialize(getHttpResponse().getWriter(), object);    getHttp

【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据

有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这些数据. 在WCF中实现将数据以XML或JSON格式返回有Y多种方法,不管你用什么方法,只要得到预期结果就好,米芾说了,笔可以八面出锋,当然了,人家指的是绘画. 这里,老周就挑两种方法来演示,仅供参考,没有考古价值,建议司马子长不要把本文收入<史记>. 第一种方法是用到 WebServiceHos

xml和JSON格式相互转换的Java实现

依赖的包: json-lib-2.4-jdk15.jar ezmorph-1.0.6.jar xom-1.2.1.jar commons-lang-2.1.jar commons-io-1.3.2.jar jaxen-1.1.jar 输入xml文件,输出JSON对象 package com.cash.util; import java.io.IOException; import java.io.InputStream; import org.apache.commons.io.IOUtils;

javascript 解析ajax返回的xml和json格式的数据

写个例子,以备后用 一.JavaScript 解析返回的xml格式的数据: 1.javascript版本的ajax发送请求 (1).创建XMLHttpRequest对象,这个对象就是ajax请求的核心,是ajax请求和响应的信息载体,单是不同浏览器创建方式不同 (2).请求路径 (3).使用open方法绑定发送请求 (4).使用send() 方法发送请求 (5).获取服务器返回的字符串   xmlhttpRequest.responseText; (6).获取服务端返回的值,以xml对象的形式存

SpringBoot RestController 同时支持返回xml和json格式数据

@RestController 默认支持返回json格式数据,即使不做任何配置也能返回json数据 当接口需要支持xml或json两种格式数据时应该怎么做呢? 只要引入 Jackson xml的 maven依赖就可以了: <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-xml-provider</artifactId> &l

xml转换为json格式时,如何将指定节点转换成数组 Json.NET

使用Json.NET转换xml成json时,如果xml只有单个节点,但json要求是数组形式[], JsonConvert.SerializeXmlNode 并不能自动识别 示例如下: RecordArray要求是数组格式 <root> <Record> </Record> <RecordArray> <a>1</a> <b>2</b> </RecordArray> </root> 转换