Skip to content

Commit c9b3007

Browse files
committed
docs: mention RFC 9485 and an RFC 9535 compliant JSONPath implementation
1 parent df8a412 commit c9b3007

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

docs/syntax.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,10 +200,11 @@ This is a list of things that you might find in other JSONPath implementation th
200200
- We don't allow dotted array indices. An array index must be surrounded by square brackets.
201201
- Python JSONPath is strictly read only. There are no update "selectors", but we do provide methods for converting `JSONPathMatch` instances to `JSONPointer`s, and a `JSONPatch` builder API for modifying JSON-like data structures using said pointers.
202202

203-
And this is a list of areas where we deviate from [RFC 9535](https://datatracker.ietf.org/doc/html/rfc9535).
203+
And this is a list of areas where we deviate from [RFC 9535](https://datatracker.ietf.org/doc/html/rfc9535). See [jsonpath-rfc9535](https://github.com/jg-rp/python-jsonpath-rfc9535) for an alternative implementation of JSONPath that does not deviate from RFC 9535.
204204

205205
- The root token (default `$`) is optional and paths starting with a dot (`.`) are OK. `.thing` is the same as `$.thing`, as is `thing`, `$[thing]` and `$["thing"]`.
206206
- The built-in `match()` and `search()` filter functions use Python's standard library `re` module, which, at least, doesn't support Unicode properties. We might add an implementation of `match()` and `search()` using the third party [regex](https://pypi.org/project/regex/) package in the future.
207+
- We don't check `match()` and `search()` regex arguments against RFC 9485. Any valid Python pattern is allowed.
207208
- We don't require property names to be quoted inside a bracketed selection, unless the name contains reserved characters.
208209
- We don't require the recursive descent segment to have a selector. `$..` is equivalent to `$..*`.
209210
- We support explicit comparisons to `undefined` as well as implicit existence tests.

0 commit comments

Comments
 (0)