jsonstreamingparser

A JSON streaming parser implementation in PHP.

  • 所有者: salsify/jsonstreamingparser
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Streaming JSON parser for PHP

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.

主要指標

概覽
名稱與所有者salsify/jsonstreamingparser
主編程語言PHP
編程語言PHP (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2013-02-08 15:13:19
推送於2023-07-11 12:20:03
最后一次提交2023-05-09 06:28:47
發布數18
最新版本名稱v8.3.1 (發布於 )
第一版名稱v1.0 (發布於 2013-12-23 11:51:37)
用户参与
星數759
關注者數59
派生數132
提交數160
已啟用問題?
問題數53
打開的問題數8
拉請求數40
打開的拉請求數0
關閉的拉請求數7
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?