PHP如何将返回的JSON数据用gzip压缩输出?本文主要介绍了将PHP中返回的JSON格式数据用gzip压缩输出的方法,文中示例环境为Linux系统与Apache服务器,需要的朋友可以参考下。希望对大家有所帮助。
1.使用压缩与不使用压缩的HTTP输出比较
2.开启gzip
利用apache mod_deflate module 开启gzip
开启方法:
sudo a2enmod deflate
sudo /etc/init.d/apache2 restart
关闭方法:
sudo a2dismod deflate
sudo /etc/init.d/apache2 restart
3.设置需要gzip压缩输出的类型
json的输出类型是application/json,所以可以这样设置
在httpd.conf的中加入
AddOutputFilterByType DEFLATE application/json
$data = array(
array('name'=>'one','value'=>1),
array('name'=>'two','value'=>2),
array('name'=>'three','value'=>3),
array('name'=>'four','value'=>4),
array('name'=>'five','value'=>5),
array('name'=>'six','value'=>6),
array('name'=>'seven','value'=>7),
array('name'=>'eight','value'=>8),
array('name'=>'nine','value'=>9),
array('name'=>'ten','value'=>10),
header('content-type:application/json');
echo json_encode($data);
设置gzip前输出:
设置gzip后输出:
4.单个json使用gzip压缩输出
设置AddOutputFilterByType DEFLATE application/json后,所有json格式的数据输出都将使用gzip压缩输出。
如果只想某一个json使用gzip压缩输出,其他不需要,可以使用ob_start();方法来实现。
首先不需要设置AddOutputFilterByType,然后在代码最开始位置加入ob_start('ob_gzhandler');
ob_start('ob_gzhandler');
$data = array(
array('name'=>'one','value'=>1),
array('name'=>'two','value'=>2),
array('name'=>'three','value'=>3),
array('name'=>'four','value'=>4),
array('name'=>'five','value'=>5),
array('name'=>'six','value'=>6),
array('name'=>'seven','value'=>7),
array('name'=>'eight','value'=>8),
array('name'=>'nine','value'=>9),
array('name'=>'ten','value'=>10),
header('content-type:application/json');
echo json_encode($data);
相关推荐:
PHP 数组遍历foreach语法结构及实例
PHP 数组排序方法总结
php和js中json传递的简析
PHP如何将返回的JSON数据用gzip压缩输出?本文主要介绍了将PHP中返回的JSON格式数据用gzip压缩输出的方法,文中示例环境为Linux系统与Apache服务器,需要的朋友可以参考下。希望对大家有所帮助。1.使用压缩与不使用压缩的HTTP输出比较2.开启gzip利用apache mod_deflate module 开启gzip开启方法:sudo a2enmod deflatesudo ...
点击关注公众号,Java干货及时送达推荐阅读:学习 Spring Cloud 微服务的最佳姿势!Spring Cloud 2022 正式发布!1. 业务背景是这样的,业务背景是公司的内部系统有一个广告保存接口,需要 ADX 那边将投放的广告
数据
进行保存供后续使用。广告
数据
大概长这样:{
"adName":"",
"adTag":""
}adName:广告名字adTag:广告渲染的 ...
c#
Json
压缩
和格式化
Json
压缩
和格式化
Json
压缩
Json
格式化
Json
压缩
和格式化
Json
作为常用
数据
文件,在
传输
过程前或
传输
后要进行
压缩
或者格式化,以方便自己使用。下面是使用C#完成的格式化和
压缩
代码。
Json
压缩
/// <summary>
///
压缩
Json
字符串
/// </summary>
/// <param name="
json
">需要
压缩
的
json
串</param>
我在日常开发中遇到,由于后端
返回
JSON
数据
较大,导致前端响应的较慢,于是考虑通过后端
压缩
,前端解压的方式来进行优化:
后端
压缩
工具类:
package com.stt.common.util;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.
GZIP
InputStream;
import java.util
最近公司开发一款app(原生安卓的),由于客户需要在app上展示3D效果图,但是客户的源文件是setp格式的,而且文件很大。鉴于文件解析等一系列考虑,最终打算使用服务器将源文件解析成
json
或者obj格式,然后
传输
到app上打开预览,最终选择的是使用python将step解析成
json
,本地测试一切正常,上线发现问题来了,解析出来的
json
文件比源文件非常大,通常都是好几十MB,所以就考虑
压缩
传输
,然后在客户端进行解压渲染。
各种
压缩
方式测试
7z+zip或者7z+7z
压缩
方案:采用7z
压缩
后,再使
无论使用何种编程语言,
json
格式的
数据
已被广泛应用,不论是
数据
的
传输
还是存储,在很多应用场景下,你可能想进一步地
压缩
JSON
字符串的长度,以提升
传输
效率,如果你使用的是nosql
数据
库,你可能想进一步的
压缩
json
字符串的长度来节省你的存储空间,接下来,我将介绍一下目前最常用的
json
数据
压缩
技术(C
JSON
和HPack)的实现。
一、C
JSON
C
JSON
的
压缩
算法, 主要是将资料抽离成...
json
是一种非常简单、易读的
数据
结构。通常我们在做开发时,会选取
json
作为
数据
传输
格式。同时为了提升性能、降低带宽,我们一般会对
json
数据
进行
压缩
。今天我们就来谈谈各种
压缩
方法。
1、常规
压缩
:
默认的
json
数据
是带有换行的,所以最简单的
压缩
方法是将
json
中的回车换行去掉,
压缩
成一行字符串。
测试:找了一个大的
json
字符串,原始大小为1.1m,去掉回车换行
压缩
成一行后,大小变为了360k。
在线
压缩
工具:https://www.be
json
.com/
其次,我们还可以将
json
中的ke
我可以提供一个示例代码,它可以帮助您实现从MQTT
传输
JSON
数据
并在
PHP
中实时显示的功能: <?
php
// 连接到MQTT服务器
$client = new Mosquitto\Client(); // 订阅来自MQTT的
JSON
数据
$client->onConnect('connect');
$client->onMessage('message');
$client->connect("localhost", 1883, 60); // 开始循环
$client->loopForever(); // 连接MQTT服务器
function connect($r) {
global $client;
echo "I'm connected\n";
$client->subscribe('
json
', 1);
} // 接收
JSON
数据
并在
PHP
中实时显示
function message($message) {
printf("\nGot a message on topic %s with payload:%s", $message->topic, $message->payload);
$data =
json
_decode($message->payload, true);
print_r($data);