tkzo/huge-json-collection-streaming-parser

A streaming parser for huge JSON in PHP.

v1.0.7 2021-09-07 07:06 UTC

This package is auto-updated.

Last update: 2024-12-07 14:32:28 UTC


README

Build Status GitHub tag Packagist Minimum PHP Version License

This package is streaming parser for processing huge JSON documents. Can load the objects of JSON documents which is an array of objects one by one. The structure of JSON documents needs to be the following structure.

e.g.)

[
  {
    "id": 1,
    "name": "foo",

    ...

  },
  {
    "id": 2,
    "name": "bar",

    ...

  },

  ...

]

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 HugeJsonCollectionStreamingParser you can either clone this repository or you can use composer.

composer require tkzo/huge-json-collection-streaming-parser

Usage

$filePath = 'path/to/huge-json-file.json';

$parser = new \HugeJsonCollectionStreamingParser\Parser($filePath);

while ($parser->next()) {
    $item = $parser->current();

    // do anything...
}

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

License

MIT License