plumphp / plum-json
Requires
- braincrafted/json: ~0.3
- plumphp/plum: ~0.2
Requires (Dev)
- mikey179/vfsstream: ~1.4
- phpunit/phpunit: ~4.3
README
PlumJsons includes readers, writers and converters for JSON strings and files. Plum is a data processing pipeline for PHP.
Developed by Florian Eckerstorfer in Vienna, Europe.
Features
Readers
JsonFileReader
reads a.json
file from disk and decodes itJsonReader
decodes a JSON string
Writers
JsonFileWriter
encodes an object/array into JSON and saves it to diskJsonWriter
encodes an object/array into JSON and returns the string
Converters
JsonDecodeConverter
takes a JSON string and decodes itJsonEncodeConverter
takes an object/array and encodes it to JSON
Installation
You can install Plum using Composer.
$ composer require plumphp/plum-json
Usage
Please refer to the Plum documentation for more information about Plum in general.
JsonReader
Plum\PlumJson\JsonReader
reads a JSON string. If you want to read a .json
file checkout
JsonFileReader.
use Plum\PlumJson\JsonReader; $reader = new JsonReader('[{'key1': 'value1', 'key2': 'value2'}]'); $reader->getIterator(); // -> \ArrayIterator $reader->count();
JsonFileReader
Plum\PlumJson\JsonFileReader
reads a .json
file.
use Plum\PlumJson\JsonFileReader; $reader = new JsonFileReader('foo.json'); $reader->getIterator(); // -> \ArrayIterator $reader->count();
JsonFileWriter
Plum\PlumJson\JsonFileWriter
writes the items as JSON into a file.
use Plum\PlumJson\JsonFileWriter; $writer = new JsonFileWriter('foobar.json'); $writer->writeItem(['key1' => 'value1', 'key2' => 'value2')); $writer->finish();
It is essential that finish()
is called, because there happens the actual writing. The prepare()
method does
nothing.
JsonWriter
Plum\PlumJson\JsonWriter
converts the items into JSON format. Please checkout JsonFileWriter if you
want to write the JSON into a file.
use Plum\PlumJson\JsonWriter; $writer = new JsonWriter(); $writer->writeItem(['key1' => 'value1', 'key2' => 'value2')); echo $writer->getJson(); // [{'key1': 'value1', 'key2': 'value2'}]
JsonDecodeConverter
Plum\PlumJson\JsonDecodeConverter
uses Braincrafted\Json to decode JSON.
use Plum\PlumJson\JsonDecodeConverter; use Braincrafted\Json\Json; $converter = new JsonDecodeConverter(Json::DECODE_ASSOC); $converter->convert('{"foo": "bar"}'); // -> ['foo' => 'bar']
JsonEncodeConverter
Plum\PlumJson\JsonEncodeConverter
uses Braincrafted\Json to encode an object
into JSON.
use Plum\PlumJson\JsonEncodeConverter; $converter = new JsonEncodeConverter(); $converter->convert(['foo' => 'bar']); // -> '{"foo": "bar"}'
Change Log
Version 0.3 (7 May 2015)
- Add
JsonDecodeConverter
- Add
JsonEncodeConverter
Version 0.2 (22 April 2015)
- Add support for ReaderFactory
Version 0.1 (17 February 2015)
- Initial release
License
The MIT license applies to plumphp/plum- json. For the full copyright and license information, please view the LICENSE file distributed with this source code.