承接 salsify/json-streaming-parser 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

salsify/json-streaming-parser

最新稳定版本:v8.3.1

Composer 安装命令:

composer require salsify/json-streaming-parser

包简介

A streaming parser for JSON in PHP.

README 文档

README

Build Status GitHub tag Packagist Coverage Status Minimum PHP Version License

This is a simple, streaming parser for processing large JSON documents. Use it for parsing very large JSON documents to avoid loading the entire thing into memory, which is how just about every other JSON parser for PHP works.

For more details, I've written up a longer explanation of the JSON streaming parser that talks about pros and cons vs. the standard PHP JSON parser.

If you've ever used a SAX parser for XML (or even JSON) in another language, that's what this is. Except for JSON in PHP.

This package is compliant with PSR-4, PSR-1, and PSR-2. If you notice compliance oversights, please send a patch via pull request.

Installation

To install JsonStreamingParser you can either clone this repository or you can use composer

composer require salsify/json-streaming-parser

Usage

To use the JsonStreamingParser you just have to implement the \JsonStreamingParser\Listener interface. You then pass your Listener into the parser.

For example:

$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;
}

That's it! Your Listener will receive events from the streaming parser as it works.

There is a complete example of this in example/example.php.

Running tests

make test

Projects using this library

JSON Collection Parser

JSON Objects

License

MIT License (c) Salsify, Inc.

统计信息

  • 总下载量: 6.33M
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 780
  • 点击次数: 2
  • 依赖项目数: 18
  • 推荐数: 3

GitHub 信息

  • Stars: 771
  • Watchers: 57
  • Forks: 132
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04