json_path 0.7.6
json_path: ^0.7.6 copied to clipboard
Implementation of RFC 9535 - JSONPath: Query Expressions for JSON. Reads and writes values in parsed JSON objects using queries like `$.store.book[2].price`.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.7.5 - 2025-01-28 #
0.7.4 - 2024-08-03 #
0.7.3 - 2024-08-01 #
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.6.0 - 2023-05-27 #
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 yieldfalse
regardless of the value
0.5.3 - 2023-04-29 [YANKED] #
Changed #
search()
andmatch()
now strictly follow the I-Regexp convention. Expressions not conforming to I-Regexp will yieldfalse
regardless of the value
0.5.0 - 2023-03-23 #
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.
0.3.0 - 2021-02-18 #
Added #
JsonPathMatch.context
contains the matching context. It is intended to be used in named filters.JsonPathMatch.parent
contains the parent match.JsonPathMatch.pointer
contains the RFC 6901 JSON Pointer to the match.- Very basic support for evaluated expressions
Changed #
- Named filters argument renamed from
filter
tofilters
- Named filters can now be passed to the
read()
method. - Named filters callback now accepts the entire
JsonPathMatch
object, not just the value.
Removed #
- The
set()
method. Use thepointer
property instead.
0.2.0 - 2020-09-07 #
0.1.2 - 2020-09-06 #
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
RangeError
will be thrown. Previously, no modification would be made and no errors/exceptions thrown.