json_path 0.7.4 json_path: ^0.7.4 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.4 - 2024-08-03 #
Changed #
- CTS updated
Fixed #
- Uppercase "E" was not acceptable in floating point numbers
- A digit before the decimal point was not enforced for floating point numbers
- Integer literal bounds were not enforced
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.7.2 - 2024-05-30 #
Added #
- New functions:
key()
andindex()
0.7.1 - 2024-03-02 #
Changed #
- Bumped the CTS to the latest
0.7.0 - 2023-12-29 #
Changed #
- Renamed
Nodes
toNodeList
- Bumped the CTS to the latest version
0.6.6 - 2023-09-23 #
Fixed #
- Logical expressions should be allowed in function arguments
0.6.5 - 2023-09-11 #
Fixed #
- Certain numbers were not parsed correctly
0.6.4 - 2023-08-26 #
Changed #
- Bump dependencies versions
0.6.3 - 2023-08-26 #
Fixed #
- Allow whitespaces after
?
in expressions
0.6.2 - 2023-07-21 #
Fixed #
- Disallow comparison of non-singular queries
0.6.1 - 2023-07-17 #
Fixed #
- Allow whitespace in between selector segments
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.2 - 2023-04-05 #
Added #
- Improved IRegex support
0.5.1 - 2023-03-28 #
Added #
- Better support for Normalized Paths
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.4.4 - 2023-03-18 #
Fixed #
- Reverted changes from 0.4.3 as they caused dependency issues.
0.4.3 - 2023-03-18 #
Fixed #
- Deprecation warnings from petitparser.
0.4.2 - 2022-08-03 #
Added #
- Expressions enhancements: float literals, negation, parenthesis.
0.4.1 - 2022-06-14 #
Added #
- Lower case hex support
Changed #
- Updated CTS to latest
0.4.0 - 2022-03-21 #
Changed #
- Dart 2.16
- Dependency bump: petitparser 5.0.0
0.3.1 - 2021-12-18 #
Added #
- Filtering expressions
Changed #
- Require dart 2.15
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 #
Added #
- Ability to create arrays and set adjacent indices
Changed #
- List union sorts the keys
Fixed #
- Improved union parsing stability
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.
0.1.1 - 2020-09-05 #
Fixed #
- Fixed example code in the readme
0.1.0 - 2020-09-05 #
Added #
- JsonPath.set() method to alter the JSON object in a non-destructive way
Changed #
- BREAKING!
Result
renamed toJsonPathMatch
- BREAKING!
JsonPath.filter()
renamed toread()
0.0.2 - 2020-09-01 #
Fixed #
- Last element of array would not get selected (regression #1)
0.0.1 - 2020-08-03 #
Added #
- Filters
0.0.0+dev.7 - 2020-08-02 #
Changed #
- Tokenized and AST refactoring
0.0.0+dev.6 - 2020-08-01 #
Added #
- Unions
0.0.0+dev.5 - 2020-07-31 #
Added #
- Slice expression
0.0.0+dev.4 - 2020-07-29 #
Added #
- Bracket field notation support
0.0.0+dev.3 - 2020-07-28 #
Added #
- Partial implementation of bracket field notation
0.0.0+dev.2 - 2020-07-28 #
Added #
- Recursive selector
- Wildcard selector
0.0.0+dev.1 - 2020-07-27 #
Added #
- Tokenizer and AST
- All-in-array selector