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:
1 2 3 |
"require": { "peekmo/jsonpath": "dev-master" } |
Im Controller bindet man die Library mit use ein:
1 |
use Peekmo\JsonPath\JsonStore; |
Dann kann man die json-Datei einlesen und über den JsonStore auswerten:
1 2 3 |
$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.