jsonpath

Extract data using JSONPath notation


This extension allows you to use the versatile JSONPath query language to extract the properties that you want from a decoded JSON document.

License: PHP License

Latest releases

Version Release Download
3.0.0 2025-01-29 jsonpath-3.0.0.tgz
2.1.1 2025-01-26 jsonpath-2.1.1.tgz
2.1.0 2024-01-08 jsonpath-2.1.0.tgz
2.0.0 2023-12-19 jsonpath-2.0.0.tgz
1.0.1 2023-12-14 jsonpath-1.0.1.tgz
Show all releases

Changelog

Version Message
3.0.0 ## Breaking changes

In comparisons involving numbers, numeric strings are now treated as numbers.

Example:
```
$data = [
'items' => [
[
'id' => 1,
'quantity' => 5,
],
[
'id' => 2,
'quantity' => '8',
],
],
];
```

Before: `$.items[?(@.quantity > 0)]` returns `[['id' => 1, 'quantity' => 5]]`.
After: `$.items[?(@.quantity > 0)]` returns `[['id' => 1, 'quantity' => 5], ['id' => 2, 'quantity' => '8']]`.

## What's Changed
* Test also on PHP 8.4 for Windows and PHP 8.5 (nightly) for Linux, cache PHP-SDK in Windows by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/192
* Allow numeric strings in number comparisons by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/191
2.1.1 * Add link to PHP Extensions Repository for Windows DLLs by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/180
* Add dependabot configuration by @dawitnida in https://github.com/supermetrics-public/pecl-jsonpath/pull/181
* Bump actions/checkout from 2 to 4 by @dependabot in https://github.com/supermetrics-public/pecl-jsonpath/pull/183
* Bump DoozyX/clang-format-lint-action from 0.12 to 0.17 by @dependabot in https://github.com/supermetrics-public/pecl-jsonpath/pull/182
* Bump schneegans/dynamic-badges-action from 1.0.0 to 1.7.0 by @dependabot in https://github.com/supermetrics-public/pecl-jsonpath/pull/184
* Bump php/setup-php-sdk from 0.8 to 0.9 by @dependabot in https://github.com/supermetrics-public/pecl-jsonpath/pull/185
* Bump DoozyX/clang-format-lint-action from 0.17 to 0.18 by @dependabot in https://github.com/supermetrics-public/pecl-jsonpath/pull/186
* Add composer.json for compatibility with PIE by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/187
* Fix segmentation fault when matching regex string against non-string values by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/190
2.1.0 * Add support for PHP 8.4 (nightly) and run tests also on PHP 8.4 by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/176
* Remove some tests specific to PHP 7 by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/177
2.0.0 * Drop support for PHP 7.4 by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/172
* Test with PHP 8.3 on Windows, unify naming and formatting in workflow files by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/173
1.0.1 * Issue #164 - refactor string unescaping by @mkaminski1988 in https://github.com/supermetrics-public/pecl-jsonpath/pull/165
* Update benchmark chart with benchmarks from latest software versions and run in PHP 8.1 by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/166
* Remove release-drafter workflow. by @dawitnida in https://github.com/supermetrics-public/pecl-jsonpath/pull/167
* Add PHP 8.3 nightly on Linux and PHP 8.2 on Windows to builds to run tests on by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/168
* relax test for 8.3 by @remicollet in https://github.com/supermetrics-public/pecl-jsonpath/pull/169
* Add exception catching to usage section in README by @crocodele in https://github.com/supermetrics-public/pecl-jsonpath/pull/170
Show complete changelog