JSONPath Child Operator?

Started by David E. Wheelerabout 3 years ago3 messages
#1David E. Wheeler
david@justatheory.com

Greetings! Long time no see, I know. How are you, Hackers?

I notice from the docs in the Postgres JSONPath type, brackets are described as:

• Square brackets ([]) are used for array access.

https://www.postgresql.org/docs/current/datatype-json.html#DATATYPE-JSONPATH

Notably they are not used for object field path specifications, in contrast to the original JSON Path design, which says:

JSONPath expressions can use the dot–notation

$.store.book[0].title

or the bracket–notation

$['store']['book'][0]['title']

https://goessner.net/articles/JsonPath/index.html#e2

Similarly, the current IETF RFC Draft says:

JSONPath expressions use the _bracket notation_, for example:

$['store']['book'][0]['title']

or the more compact _dot notation_, for example:

$.store.book[0].title

https://datatracker.ietf.org/doc/draft-ietf-jsonpath-base/

My question: Are there plans to support square bracket syntax for JSON object field name strings like this? Or to update to follow the standard as it’s finalized?

Thanks,

David

#2Filipp Krylov
phil@krylov.eu
In reply to: David E. Wheeler (#1)
Re: JSONPath Child Operator?

Hi David,

On 2022-11-10 21:55, David E. Wheeler wrote:

My question: Are there plans to support square bracket syntax for JSON
object field name strings like this? Or to update to follow the
standard as it’s finalized?

This syntax is a part of "jsonpath syntax extensions" patchset:
/messages/by-id/e0fe4f7b-da0b-471c-b3da-d8adaf314357@postgrespro.ru

-- Ph.

#3David E. Wheeler
david@justatheory.com
In reply to: Filipp Krylov (#2)
Re: JSONPath Child Operator?

On Jan 30, 2023, at 08:17, Filipp Krylov <phil@krylov.eu> wrote:

My question: Are there plans to support square bracket syntax for JSON object field name strings like this? Or to update to follow the standard as it’s finalized?

This syntax is a part of "jsonpath syntax extensions" patchset: /messages/by-id/e0fe4f7b-da0b-471c-b3da-d8adaf314357@postgrespro.ru

Nice, thanks. I learned since sending this email that SQL/JSON Path is not at all the same as plain JSON Path, so now I’m less concerned bout it. I like the new object subscript syntax, though, I’ve been thinking about this myself.

D