Anydataset JSON abstraction. Anydataset is an agnostic data source abstraction layer in PHP.
MIT License
JSON abstraction dataset. Anydataset is an agnostic data source abstraction layer in PHP.
See more about Anydataset here.
The AnyDataset-Json is an abstraction layer to read a JSON data and transform it into a dataset, and you can manipulate it as a table.
Some features:
example.json
{
"menu":{
"header":"SVG Viewer",
"items":[
{
"id":"Open",
"metadata":{
"version":"1",
"date":"NA"
}
},
{
"id":"OpenNew",
"label":"Open New",
"metadata":{
"version":"2",
"date":"2021-10-01"
}
}
]
}
}
example.php
$json = file_get_contents('example.json');
$dataset = new \ByJG\AnyDataset\Json\JsonDataset($json);
$iterator = $dataset->getIterator("/menu/items")
->withFields([
JsonFieldDefinition::create("name", "id"),
JsonFieldDefinition::create("version", "metadata/version")
]);
foreach ($iterator as $row) {
echo $row->get('name'); // Print "Open", "OpenNew"
echo $row->get('version'); // Print "1", "2"
}
composer require "byjg/anydataset-json"
vendor/bin/phpunit
flowchart TD
byjg/anydataset-json --> byjg/anydataset
byjg/anydataset-json --> ext-json