版权声明:本文为博主原创文章,未经博主同意不得转载。

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)的更多相关文章

  1. C#实现调用接口数据获取数据格式化XML、json转成Table的方法

    废话不多说,直接上代码: json 格式化转DataTable: result为从接口得到的数据,格式化json的方法主要来自Newtonsoft.Json JObject joUnit = JObj ...

  2. 老猿学5G随笔:5G网元功能体NF以及NF之间的两种接口--服务化接口和参考点

    一.5G功能体之间的接口类型 5G不同功能体之间提供了两种接口: 服务化接口:Service-basedinterface,这个是类似微服务化架构的服务注册和服务发现来实现的功能体对外暴露的接口,这种 ...

  3. Android一个ListView列表之中插入两种不同的数据

    http://www.cnblogs.com/roucheng/ Android一个ListView列表之中插入两种不同的数据 代码如下: public class ViewHolder{ Butto ...

  4. 两种常用的数据交换格式:XML和JSON

    不同编程语言之间的数据传输,需要一种通用的数据交换格式,它需要简洁.易于数据储存.快速读取,且独立于各种编程语言.我们往往传输的是文本文件,比如我们都知道的csv(comma seperated va ...

  5. 编译APK时出现 This attribute must be localized 的两种解决方法 免修改xml

    下面两种方法可以让你不需要修改APP XML字符串的条件下忽略 This attribute must be localized 的 Android 源码编译时的错误警告. 1.修改当前APP的 An ...

  6. jQuery两种方法添加数据表格到HTML

    jQ创建表格的两种方法 1.模板字符串法   $(function () {           //模板字符串的方式添加到页面           $('#btn').click(function ...

  7. IOS 请求数据解析 XML 和 JSON

    好久没写文章了,回忆一下以前的内容记录一下吧. 这一段主要接触的就是数据解析,就说一下数据解析 现在数据解析一般解析两种数据 xml 和 JSON 那就从xml解析说起吧 xml解析需要用到一个类 N ...

  8. Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用

    1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...

  9. C#简单爬取数据(.NET使用HTML解析器ESoup和正则两种方式匹配数据)

    一.获取数据 想弄一个数据库,由于需要一些人名,所以就去百度一下,然后发现了360图书馆中有很多人名 然后就像去复制一下,发现复制不了,需要登陆 此时f12查看源码是可以复制的,不过就算可以复制想要插 ...

随机推荐

  1. c# Winform实现发送邮件

    邮件发送类 来源网上 稍作调整...出处忘了 /** * 命名空间: EmailSend * 类 名: EmailSend * * 作者        变更内容            变更日期 * ─ ...

  2. SQL必知必会——思维导图

    Xmind实在太坑了,竟然不能导出高清图片,我回来折腾个PS整一下!

  3. 【linux】centos6/7 + nginx 利用certbot 申请https证书

    没错我又踩坑了.昨晚上搞到十二点半才成功申请.鬼知道OJ服务器是个什么渣渣. 早上才算正式弄好,中间也学了不少东西,记录一下.这次是http转https,所以默认的还是只有80端口. 请务必确保自己的 ...

  4. 【记录】ajax跨域问题jsonp正确的使用方式

    最近遇到ajax请求跨域问题,解决方案用jsonp,现记录如下: //跨域请求jsonp封装 function doJsonPostCallBack(type, url, data,async, ca ...

  5. Windows 下安装 nvm 管理 nodejs 版本

    摘自https://segmentfault.com/a/1190000007612011 1. 下载安装与使用 Github: Download nvm-windows --- nvm-setup. ...

  6. jq 手机键盘消失出现白色延迟

    input 输入框失去焦点 $("#input").blur() 接口调用setTimeout 让输入框消失后再出现loading和调用接口 ios手机loading覆盖不完全 自 ...

  7. 【leetcode】958. Check Completeness of a Binary Tree

    题目如下: Given a binary tree, determine if it is a complete binary tree. Definition of a complete binar ...

  8. python读取ini配置文件的示例代码(仅供参考)

    这篇文章主要介绍了python读取ini配置文件过程示范,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装 pip install configp ...

  9. openFrameworks Download

    { https://openframeworks.cc/zh_cn//download/ } 0.10.1 是最新发布的版本. 这个版本是修改了一些BUG的小版本,与版本 0.10.1100%兼容而且 ...

  10. java 获取的是本地的IP地址

    1 public static void main(String[] args) { 2 try { 3 InetAddress address = InetAddress.getLocalHost( ...