andig / jsonstreamingparser
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: 2022-02-01 12:51:21 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许可证