zoukankan      html  css  js  c++  java
  • 两种接口传送数据协议(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
查看全文
  • 相关阅读:
    页面转表格并且下载
    关于表格导入
    C/C++作用域运算符::
    设计模式之观察者模式_C++
    C# 传不定参数
    C语言中的位域的使用
    C++/python求哈希值(SHA256)
    C++中纯虚函数
    类模板/函数模板实现父类指针指向子类对象(虚函数实现多态)
    Windows Socket 接口简介
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10846102.html
  • Copyright © 2011-2022 走看看