Thread: JSONPath Child Operator?
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 updateto follow the standard as it’s finalized? Thanks, David
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: https://www.postgresql.org/message-id/e0fe4f7b-da0b-471c-b3da-d8adaf314357%40postgrespro.ru -- Ph.
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 updateto follow the standard as it’s finalized? > > This syntax is a part of "jsonpath syntax extensions" patchset: https://www.postgresql.org/message-id/e0fe4f7b-da0b-471c-b3da-d8adaf314357%40postgrespro.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’mless concerned bout it. I like the new object subscript syntax, though, I’ve been thinking about this myself. D