symfony / json-path
Eases JSON navigation using the JSONPath syntax as described in RFC 9535
Fund package maintenance!
fabpot
Tidelift
symfony.com/sponsor
Requires
- php: >=8.2
- symfony/polyfill-mbstring: ~1.0
Requires (Dev)
- symfony/json-streamer: ^7.3
This package is auto-updated.
Last update: 2025-05-02 13:06:26 UTC
README
The JsonPath component eases JSON navigation using the JSONPath syntax as described in RFC 9535.
This Component is experimental. Experimental features are not covered by Symfony's Backward Compatibility Promise.
Getting Started
composer require symfony/json-path
use Symfony\Component\JsonPath\JsonCrawler; $json = <<<'JSON' {"store": {"book": [ {"category": "reference", "author": "Nigel Rees", "title": "Sayings", "price": 8.95}, {"category": "fiction", "author": "Evelyn Waugh", "title": "Sword", "price": 12.99} ]}} JSON; $crawler = new JsonCrawler($json); $result = $crawler->find('$.store.book[0].title'); $result = $crawler->find('$.store.book[?match(@.author, "[A-Z].*el.+")]'); $result = $crawler->find("$.store.book[?(@.category == 'fiction')].title");