两种接口传送数据协议(xml和json)
版权声明:本文为博主原创文章,未经博主同意不得转载。
https://blog.csdn.net/tianyazaiheruan/article/details/37659983
规范性接口开发中。一般数据是以json或者xml的格式传送的。而不是字符串的形式直接返回给接口调用者;以下介绍这两种格式的编写方法。
以下两种数据传送方式是接口输出端的编写。需引入的包例如以下:
<span style="font-family:KaiTi_GB2312;font-size:18px;">importjava.io.PrintWriter;
importjava.io.StringWriter;
importjavax.servlet.http.HttpServletResponse;
importorg.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;</span>
1.传送 XML 协议的格式数据
<span style="font-family:KaiTi_GB2312;font-size:18px;"> /**
* xml 格式数据
*
* @param response
* @param doc
*/
publicstaticvoidoutDocToXML(HttpServletResponse response, Document doc) {
// 以下代码请注意编码顺序
response.setCharacterEncoding("utf-8");
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
PrintWriter out = null;
StringWriter writer = new StringWriter();
OutputFormat format = OutputFormat.createPrettyPrint(); //
format.setEncoding("UTF-8");
XMLWriter xmlwriter = new XMLWriter(writer,format);
try {
out = response.getWriter();
xmlwriter.write(doc);
} catch (Exception e) {
e.printStackTrace();
}
out.print(writer.toString());
out.close();
}</span>
2.传送 json 协议的格式数据
<span style="font-family:KaiTi_GB2312;font-size:18px;">/**
* json 数据格式
*
* @param response
* @param data
* @param type
*/
protectedvoidsendData(HttpServletResponse response, Object data) {
if (data != null) {
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=UTF-8");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
PrintWriter out = null;
try {
out = response.getWriter();
out.print(data);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}</span>
转正请指明出处:blog.csdn.net/yangkai_hudong
两种接口传送数据协议(xml和json)的更多相关文章
- C#实现调用接口数据获取数据格式化XML、json转成Table的方法
废话不多说,直接上代码: json 格式化转DataTable: result为从接口得到的数据,格式化json的方法主要来自Newtonsoft.Json JObject joUnit = JObj ...
- 老猿学5G随笔:5G网元功能体NF以及NF之间的两种接口--服务化接口和参考点
一.5G功能体之间的接口类型 5G不同功能体之间提供了两种接口: 服务化接口:Service-basedinterface,这个是类似微服务化架构的服务注册和服务发现来实现的功能体对外暴露的接口,这种 ...
- Android一个ListView列表之中插入两种不同的数据
http://www.cnblogs.com/roucheng/ Android一个ListView列表之中插入两种不同的数据 代码如下: public class ViewHolder{ Butto ...
- 两种常用的数据交换格式:XML和JSON
不同编程语言之间的数据传输,需要一种通用的数据交换格式,它需要简洁.易于数据储存.快速读取,且独立于各种编程语言.我们往往传输的是文本文件,比如我们都知道的csv(comma seperated va ...
- 编译APK时出现 This attribute must be localized 的两种解决方法 免修改xml
下面两种方法可以让你不需要修改APP XML字符串的条件下忽略 This attribute must be localized 的 Android 源码编译时的错误警告. 1.修改当前APP的 An ...
- jQuery两种方法添加数据表格到HTML
jQ创建表格的两种方法 1.模板字符串法 $(function () { //模板字符串的方式添加到页面 $('#btn').click(function ...
- IOS 请求数据解析 XML 和 JSON
好久没写文章了,回忆一下以前的内容记录一下吧. 这一段主要接触的就是数据解析,就说一下数据解析 现在数据解析一般解析两种数据 xml 和 JSON 那就从xml解析说起吧 xml解析需要用到一个类 N ...
- Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用
1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...
- C#简单爬取数据(.NET使用HTML解析器ESoup和正则两种方式匹配数据)
一.获取数据 想弄一个数据库,由于需要一些人名,所以就去百度一下,然后发现了360图书馆中有很多人名 然后就像去复制一下,发现复制不了,需要登陆 此时f12查看源码是可以复制的,不过就算可以复制想要插 ...
随机推荐
- 哈希表(hash)详解
哈希表结构讲解: 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度. ...
- Leetcode_415字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: ①num1 和num2 的长度都小于 5100.②num1 和num2 都只包含数字 0-9.③num1 和num2 都不 ...
- Linux NIO 系列(04-3) epoll
目录 一.why epoll 1.1 select 模型的缺点 1.2 epoll 模型优点 二.epoll API 2.1 epoll_create 2.2 epoll_ctl 2.3 epoll_ ...
- spring security 学习三-rememberMe
功能:登录时的“记住我”功能 原理: rememberMeAuthenticationFilter在security过滤器链中的位置,在请求走认证流程是,当前边的filter都不通过时,会走remem ...
- bzoj2989 数列
突然翻到一道他们正在做的题....好像是cdq分治??? 以后写写呗.... 然后二进制啥的照样操作一波....感觉很资瓷的样子.... 就这样分组操作两边这道题咯?
- Validation Engine 表单验证
前端开发仓库 » jQuery » jQuery Validation Engine 表单验证 jQuery Validation Engine 表单验证来源 功能强大的 jQuery 表单验证插件, ...
- 2018-2-13-win10-uwp-网络编程
title author date CreateTime categories win10 uwp 网络编程 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17: ...
- Grafana的安装配置 和 使用nginx反向代理grafana
grafana安装和配置 grafana安装非常简单:(https://grafana.com/grafana/download) 对于有apt的服务器: # apt install -y softw ...
- 深入理解java虚拟机JVM(上)
深入理解java虚拟机JVM(上) 链接:https://pan.baidu.com/s/1c6pZjLeMQqc9t-OXvUM66w 提取码:uwak 复制这段内容后打开百度网盘手机App,操作更 ...
- 牛客多校第六场-H-Pair
链接:https://ac.nowcoder.com/acm/contest/887/H来源:牛客网 题目描述 Given three integers A, B, C. Count the numb ...