wrossmann/json_stream

流式JSON写入器

1.0.0 2019-02-13 04:12 UTC

This package is auto-updated.

Last update: 2024-09-09 11:39:24 UTC


README

这是一个简单的库,用于将内存高效的JSON序列化到PHP流中。

使用方法

简单,输出到STDOUT

<?php
require('vendor/autoload.php');
use wrossmann\json_stream\JsonStream;

$js = new JsonStream();
$js->encode('foo');

复杂,输出到任何地方

第一个构造参数是流句柄,第二个是您通常传递给 json_encode() 的标志参数。

这个的好处是可以附加额外的流过滤器,例如gzip压缩。

$handle = fopen('zlib://foo.json.gz', 'wb');
$js = new JsonStream($handle, JSON_UNESCAPED_UNICODE);
$js->encode('foo');

预期的内存使用

非复杂类型会直接传递给 json_encode(),以确保它们被正确编码,所以所需的额外最大内存应大致等于您正在序列化的对象中包含的最大字符串的大小。

注意事项

  • 循环引用既不被检测也不被处理。
  • 不支持格式化打印。仅支持丑陋打印。