json_path
Implementation of RFC 9535 - JSONPath: Query Expressions for JSON. Reads and writes values in parsed JSON objects using queries like `$.store.book[2].price`.
0.9.0
285K downloads/mo
#709 most downloaded on pub.dev
f3ath/jessie
What this package is like to depend on
Last release 8 months ago
11 Dec 2025
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 37 of 39 stable releases
3 versions withdrawn
withdrawn after publishing
6 years old
50 releases · first in 2020
1 release in the last 12 months
see the full history below
Release timeline
50 releases · Jul 2020 to Dec 2025Releases
latest 50-
0.9.011 Dec 2025Release notes
Open source →Changed
- Minor improvements in typing
- Bumped the min SDK version to 3.10
- Bumped maybe_just_nothing to 0.6
-
0.8.006 Jul 2025 -
0.7.626 May 2025 -
0.7.529 Jan 2025Release notes
Open source →Changed
- Minor performance improvements
- CTS update
Fixed
- Slash escaped incorrectly in normalized paths (issue)
-
0.7.404 Aug 2024Release notes
Open source →Changed
- CTS updated
Fixed
- Uppercase "E" not acceptable in floating point numbers
- A digit before the decimal point not enforced for floating point numbers
- Integer literal bounds not enforced
-
0.7.302 Aug 2024Release notes
Open source →Changed
- Updated CTS
Fixed
- Invalid escape sequences were allowed in child selectors. See https://github.com/jsonpath-standard/jsonpath-compliance-test-suite/pull/87
-
0.7.231 May 2024 -
0.7.102 Mar 2024 -
0.7.030 Dec 2023 -
0.6.624 Sep 2023 -
0.6.512 Sep 2023 -
0.6.427 Aug 2023 -
0.6.326 Aug 2023 -
0.6.222 Jul 2023 -
0.6.118 Jul 2023 -
0.6.028 May 2023Release notes
Open source →Changed
- Bump SDK version to 3.0.0
- Disallow whitespace between the function name and the parentheses
- Disallow whitespace between the expression and the brackets
search()andmatch()now strictly follow the I-Regexp convention. Expressions not conforming to I-Regexp will yieldfalseregardless of the value
-
0.5.329 Apr 2023 withdrawnRelease notes
Open source →Changed
search()andmatch()now strictly follow the I-Regexp convention. Expressions not conforming to I-Regexp will yieldfalseregardless of the value
-
0.5.206 Apr 2023 -
0.5.129 Mar 2023 -
0.5.024 Mar 2023Release notes
Open source →Added
- Full support of some built-in functions:
length(),size(),search(),match(),value(). - Basic support of custom user-defined functions.
Changed
- BC-BREAKING! The package is now following the IETF JSON Path spec which means a lot of internal and BC-breaking changes. Please refer to the tests and examples.
Removed
- BC-BREAKING! Support of the callback filters has been dropped. Use custom functions instead.
- Full support of some built-in functions:
-
0.5.0-dev.312 Mar 2023 pre-releaseNothing published for this version
-
0.5.0-dev.205 Mar 2023 pre-releaseNothing published for this version
-
0.5.0-dev.101 Mar 2023 pre-releaseNothing published for this version
-
0.5.0-beta.122 Mar 2023 pre-releaseNothing published for this version
-
0.5.0-alpha.016 Mar 2023 pre-release withdrawnNothing published for this version
-
0.4.418 Mar 2023 -
0.4.318 Mar 2023 withdrawn -
0.4.204 Aug 2022 -
0.4.114 Jun 2022 -
0.4.021 Mar 2022 -
0.3.119 Dec 2021 -
0.3.019 Feb 2021Release notes
Open source →Added
JsonPathMatch.contextcontains the matching context. It is intended to be used in named filters.JsonPathMatch.parentcontains the parent match.JsonPathMatch.pointercontains the RFC 6901 JSON Pointer to the match.- Very basic support for evaluated expressions
Changed
- Named filters argument renamed from
filtertofilters - Named filters can now be passed to the
read()method. - Named filters callback now accepts the entire
JsonPathMatchobject, not just the value.
Removed
- The
set()method. Use thepointerproperty instead.
-
0.3.0-nullsafety.302 Feb 2021 pre-releaseNothing published for this version
-
0.3.0-nullsafety.229 Jan 2021 pre-releaseNothing published for this version
-
0.3.0-nullsafety.108 Jan 2021 pre-releaseNothing published for this version
-
0.3.0-nullsafety12 Dec 2020 pre-releaseNothing published for this version
-
0.2.104 Jan 2021Nothing published for this version
-
0.2.008 Sep 2020Release notes
Open source →Added
- Ability to create arrays and set adjacent indices
Changed
- List union sorts the keys
Fixed
- Improved union parsing stability
-
0.1.206 Sep 2020Release notes
Open source →Changed
- When JsonPath.set() is called on a path with non-existing property, the property will be created. Previously, no modification would be made and no errors/exceptions thrown.
- When JsonPath.set() is called on a path with non-existing index, a
RangeErrorwill be thrown. Previously, no modification would be made and no errors/exceptions thrown.
-
0.1.106 Sep 2020 -
0.1.1+106 Sep 2020Nothing published for this version
-
0.1.006 Sep 2020Release notes
Open source →Added
- JsonPath.set() method to alter the JSON object in a non-destructive way
Changed
- BREAKING!
Resultrenamed toJsonPathMatch - BREAKING!
JsonPath.filter()renamed toread()
-
0.0.202 Sep 2020 -
0.0.103 Aug 2020 -
0.0.0+dev.229 Jul 2020 -
0.0.0+dev.329 Jul 2020 -
0.0.0+dev.430 Jul 2020 -
0.0.0+dev.501 Aug 2020 -
0.0.0+dev.602 Aug 2020 -
0.0.0+dev.703 Aug 2020