byjg/anydataset-json
Anydataset JSON abstraction. Anydataset is an agnostic data source abstraction layer in PHP.
4.0.0
2018-11-24 16:42 UTC
Requires
- php: >=5.6.0
- ext-json: *
- byjg/anydataset: 4.0.*
Requires (Dev)
- phpunit/phpunit: >5.7
Suggests
- ext-curl: *
README
JSON abstraction dataset. Anydataset is an agnostic data source abstraction layer in PHP.
See more about Anydataset here.
Examples
Simple Manipulation
<?php $json = '[{"name":"Joao","surname":"Magalhaes","age":"38"},{"name":"John","surname":"Doe","age":"20"},{"name":"Jane","surname":"Smith","age":"18"}]'; $dataset = new \ByJG\AnyDataset\Json\JsonDataset($json); $iterator = $dataset->getIterator(); foreach ($iterator as $row) { echo $row->get('name'); // Print Joao, John, Jane echo $row->get('surname'); // Print Magalhaes, Doe, Smith echo $row->get('age'); // Print 38, 20, 18 }
Specific Path
<?php $json = '{"menu": {"header": "SVG Viewer", "items": [ {"id": "Open"}, {"id": "OpenNew", "label": "Open New"} ]}}'; $dataset = new \ByJG\AnyDataset\Json\JsonDataset($json); $iterator = $dataset->getIterator("/menu/items"); foreach ($iterator as $row) { echo $row->get('id'); // Print "Open", "OpenNew" echo $row->get('label'); // Print "", "Open New" }
Install
Just type: composer require "byjg/anydataset-json=4.0.*"
Running the Unit tests
vendor/bin/phpunit