Json-Files mittels JsonPath (ähnlich XPath) auslesen
Stefan Goessner ist der Autor einer PHP-Library, welche es ermöglicht Json-Dateien mit einer an XPath angelehnten Syntax abzufragen (http://goessner.net/articles/JsonPath/)
Darauf aufbauend hat peekmo diese erweitert um einen JsonStore (https://github.com/Peekmo/JsonPath) und sie kann nun als Composer-Package z.B. in Symfony eingebunden werden.
Dazu muss man es nur in der Datei composer.json unter der Rubrik „require“ hinzufügen:
"require": { "peekmo/jsonpath": "dev-master" }
Im Controller bindet man die Library mit use ein:
use Peekmo\JsonPath\JsonStore;
Dann kann man die json-Datei einlesen und über den JsonStore auswerten:
$jsonData = \file_get_contents('products.json'); $this->store = new JsonStore($jsonData); $groups = @$this->store->get("$.ItemGroup[?(@.parent=='')]");
Die genaue Syntax ist auf der Seite von Stefan Goessner dokumentiert.