<span style="font-size:18px;">当前android访问接口传输数据多使用json格式(简单易解析跨平台),为了节省带宽和传输时间服务器往往会在传输前进行gzip压缩,下面是几个需要注意的地方。</span>
1. 针对php服务器,在访问接口的时候必须在header里带上参数Accept-Encoding: gzip, deflate,不然即使后台做了gzip压缩,也不会进行真正的压缩。
2.如果服务端对数据进行了gzip压缩,那么在ap取得数据前需要对数据先进行gzip解压即:
本文档主要讲述的是Android数据格式解析对象JSON用法;JSON可以将Java对象转成json格式的字符串,可以将json字符串转换成Java。比XML更轻量级,Json使用起来比较轻便和简单。JSON数据格式,在Android中被广泛运用于客户端和服务器通信,在网络数据传输与解析时非常方便。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
<span style="font-size:18px;">public String getResponseBodyAsString(HttpResponse response) throws IO<strong>Exception</strong> {
GZIPInputStream gzin;
if (response.getEntity() != null) {
Header header = response.getFirstHeader("Content-Encoding");
if (header != null && header.getValue().toLowerCase().indexOf("gzip") != -1) {
gzin = new GZIPInputStream(response.getEntity().getContent());
InputStreamReader isr = new InputStreamReader(gzin, "UTF-8");
BufferedReader br = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
String tmp;
while ((tmp = br.readLine()) != null) {
sb.append(tmp);
sb.append("\r\n");
}
br.close();
isr.close();
return sb.toString();
} else {
// 否则正常返回
return EntityUtils.toString(response.getEntity(), HTTP.UTF_8);
}
} else {
return null;
}
}</span>
以上就介绍了android接口中json数据的传输中使用gzip压缩,包括了Exception方面的内容,希望对PHP教程有兴趣的朋友有所帮助。









