im0rtality / jsonstreamingparser
PHP 中 JSON 的流式解析器。
v4.0.0
2014-07-04 14:50 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: ~3.7.0
This package is not auto-updated.
Last update: 2024-09-24 06:56:26 UTC
README
非原创
代码来源于 https://github.com/salsify/jsonstreamingparser,并进行了一些修改
- 从监听器中移除了 file_position 回调(我们不需要它,并且它带来了显著的性能提升)
- PSR2
功能
- 基于流的 - 内存占用低,不会随着文件大小增长
- 类似于 SAX 解析器
已知缺点
- 性能不如预期(吞吐量 - 约 1MB 每秒 9 秒,VirtualBox,Debian 7,4.3GHz CPU,单核)
使用方法
要使用 JsonStreamingParser
,只需实现 JsonStreamingParser\Listener
接口。然后将您的 Listener
传递给解析器。例如
$stream = fopen('doc.json', 'r'); $listener = new YourListener(); try { $parser = new Parser($stream, $listener); $parser->parse(); } catch (Exception $e) { fclose($stream); throw $e; }
这样就完成了!您的 Listener
将会接收到流式解析器在工作时的事件。
许可
MIT 许可证