p1ratrulezzz / json-streaming-parser
PHP中的JSON流解析器。
v8.0.1
2018-10-26 13:33 UTC
Requires
- php: ^7.1
- ext-ctype: *
- ext-mbstring: *
Requires (Dev)
- ext-json: *
README
这是一个简单的流式解析器,用于处理大型JSON文档。使用它来解析非常大的JSON文档,以避免将整个文档加载到内存中,这是PHP中其他JSON解析器的工作方式。
有关更多详细信息,我已撰写一篇关于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中有一个完整的示例。
使用此库的项目
许可
MIT许可证 (c) Salsify, Inc.