andig/jsonstreamingparser

此包已被废弃,不再维护。作者建议使用salsify/json-streaming-parser包。

PHP中的JSON流式解析器。

v4.0.0 2014-07-04 14:50 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:51:21 UTC


README

Build Status

非原创

代码从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许可证