规范性接口开发中,一般数据是以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>
两种接口传送数据协议(xml和json),布布扣,bubuko.com
原文地址:http://blog.csdn.net/yangkai_hudong/article/details/37659983