Jsonstreamingparser
A JSON streaming parser implementation in PHP.
Install / Use
/learn @salsify/JsonstreamingparserREADME
Streaming JSON parser for PHP
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
License
MIT License (c) Salsify, Inc.
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。

