salsify / json-streaming-parser
PHP中的JSON流式解析器。
v8.3.1
2023-05-09 10:37 UTC
Requires
- php: >=7.1
- ext-ctype: *
- ext-mbstring: *
Requires (Dev)
- ext-json: *
- phpunit/phpunit: ~9.6
README
这是一个简单的、流式解析器,用于处理大型JSON文档。使用它来解析非常大的JSON文档,以避免将整个文档加载到内存中,这是其他所有PHP JSON解析器的工作方式。
有关更多详细信息,我已编写了一篇更长的说明,介绍了PHP JSON流式解析器,其中讨论了与标准PHP JSON解析器的优缺点。
如果你在另一种语言中使用过SAX解析器(甚至是JSON),这就是它的样子。只不过是在PHP中处理JSON。
此软件包符合PSR-4、PSR-1和PSR-2。如果您注意到任何合规性疏忽,请通过pull request发送补丁。
安装
要安装JsonStreamingParser
,您可以克隆此存储库,或者使用composer。
composer require salsify/json-streaming-parser
用法
要使用JsonStreamingParser
,您只需实现\JsonStreamingParser\Listener
接口。然后,将您的Listener
传递给解析器。
例如
$stream = fopen('doc.json', 'r'); $listener = new YourListener(); try { $parser = new \JsonStreamingParser\Parser($stream, $listener); $parser->parse(); fclose($stream); } catch (Exception $e) { fclose($stream); throw $e; }
就是这样!您的Listener
将接收流式解析器在运行期间的事件。
有关此的完整示例,请参阅example/example.php
。
运行测试
make test
使用此库的项目
许可
MIT许可 (c) Salsify, Inc.