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.