bcncommerce/json-stream

A bundle of tools to work with JSON in PHP

Maintainers

👁 skolodyazhnyy

Package info

github.com/skolodyazhnyy/json-stream

pkg:composer/bcncommerce/json-stream

Statistics

Installs: 2 309 085

Dependents: 3

Suggesters: 0

Stars: 65

Open Issues: 2

0.4.2 2021-01-12 11:38 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT f7f83c6cbd28a0e23663c4fa158d8973395505c3

  • Sergey Kolodyazhnyy <sergey.kolodyazhnyy.woop@gmail.com>

jsonparserstreamingwriterreader

This package is auto-updated.

Last update: 2026-06-13 00:06:19 UTC


README

👁 Build Status

This project is a rewritten fork of few very nice JSON libs for PHP:

JSON Writer

There is an example of product catalog export using JSON Writer

$fh = fopen($filename, "w");
$writer = new Writer($fh);

$writer->enter(Writer::TYPE_OBJECT); // enter root object
 $writer->write("catalog", $catalog['id']); // write key-value entry
 $writer->enter("items", Writer::TYPE_ARRAY); // enter items array
 foreach($catalog['products'] as $product) {
 $writer->write(null, array( // write an array item
 'sku' => $product['sku'],
 'name' => $product['name']
 ));
 }
 $writer->leave(); // leave items array
$writer->leave(); // leave root object

fclose($fh);

Output

{"catalog":19,"items":[{"sku":"0001","name":"Product #1"},{"sku":"0002","name":"Product #2"}]}

JSON Reader

Using JSON Reader you can easily read json generated by code above

$fh = fopen($filename, "r");

$reader = new Reader($fh);
$reader->enter(Reader::TYPE_OBJECT); // enter root object
 $catalog['id'] = $reader->read("catalog"); // read catalog node
 $reader->enter("items", Reader::TYPE_ARRAY); // enter item array
 while($product = $reader->read()) { // read product structure
 $catalog['products'][] = $product;
 }
 $reader->leave(); // leave item node
$reader->leave(); // leave root object

fclose($fh);