docteurklein/json-chunks

使用生成器进行流式处理的JSON编码器

1.0.1 2018-09-13 09:49 UTC

This package is auto-updated.

Last update: 2024-08-29 05:06:14 UTC


README

什么?

一个php库,允许流式传输JSON文档的块。

如何?

它利用了php生成器和原生的json_encode函数。
要开始流式传输文档的部分,传递一个yield可序列化值的函数。

注意:您可以嵌套多个生成器。

示例

$chunks = DocteurKlein\JsonChunks\Encode::from([
    '_links' => [
        'product' => function() {
            yield from [1, 2, 3];
        },
    ],
    '_embedded' => [
        'product' => function() {
            yield from [
                1,
                2,
                function() {
                    yield from [3];
                }
            ];
        },
    ],
]);

foreach ($chunks as $chunk) {
    echo $chunk;
}

注意:更多示例可在规范中找到。

权衡

  • 此库不会尝试格式化流式内容。它提供了一个用于调试目的的pretty选项,但这会缓冲整个输出,因此不再进行流式传输。
  • 包含数字和字符串索引的数组将根据第一个键的类型编码为JSON对象或数组。