GithubHelp home page GithubHelp logo

Comments (6)

keywan-ghadami avatar keywan-ghadami commented on June 15, 2024 1

I am very interested in that standard because it adds useful things on top of jsonpath making it a expression language that allows arithmetic operations, using variables, date conversion and more.

I found it available to download (copy right protect but free to read)
https://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_19075-6_2017.zip

After the first standard of jsonPath it could be possible to add some of the futures step by step or use this ideas for standards build on top of JSONPath something like a "Json Path Expression Language".

We could also already start collecting ideas like making brakets optional for filtering expressions for future versions of the standard.

from json-path-comparison.

danielaparker avatar danielaparker commented on June 15, 2024 1

I agree. It seems to me that for "legacy JSONPath", the only standard that matters is the emerging SQL/JSON standard, that is what Google, Amazon, Microsoft and Oracle appear to be coalescing around. It would be interesting to have some columns in the comparison table that show what they produce, also covering functions. "New JSONPath" that innovates will likely want to be compatible with that.

from json-path-comparison.

nichtich avatar nichtich commented on June 15, 2024 1

SQL/JSON path language has been standardized via ISO in 2016 and a new revision in 2021 (ISO/IEC 19075-6:2021, section 7). The syntax shares some parts with JSONPath and its is obviously inspired by it, but it is an independent query language. Here is a quote from a draft from 2014 (the current standard is not publicly available) to give some context:

We began by reviewing available query languages for JSON. We found the following:

  • JPath
  • JSONPath
  • JAQL
  • JSONiq
  • Mongo

Although we found interesting ideas in each of these, we do not believe that any of them has emerged as a β€œwinner” in the marketplace. Consequently, we decided to define our own place-holder query language, which is called the SQL/JSON path language in the proposal.

From a technical point of view there is no need to include SQL/JSON Path in this comparison, but from a practical point of view it is very relevant because

  • both language are likely to be confused
  • there is a large overlap between both
  • people will be interested which features can be used in both languages and/or how to translate between both languages

I think the issue could best be addressed by

  • add a short section "What is JSONPath?" to the FAQ (this is useful anyway), mentioning SQL/JSON Path
  • add "not to be confused with SQL/JSON Path" to the introduction line at the top of the home page
  • create a comparison between both languages and link it from home page and FAQ

from json-path-comparison.

cburgmer avatar cburgmer commented on June 15, 2024

See #10 for a WIP implementation against Postgres' implementation.

from json-path-comparison.

cburgmer avatar cburgmer commented on June 15, 2024

Thanks for the context.

If you like to sponsor (even if it's just part of the changes), feel free to have at it!

from json-path-comparison.

relu91 avatar relu91 commented on June 15, 2024

I stumbled upon this issue while I was working on a service compliant with the Web of Things Thing Description Directory specification. As you can see the service exposes a search endpoint that accepts JSONPath.

Not sure if it might be helpful to somebody else but we ended up creating a simple library that translates the current IETF working draft to SQL/JSONPath. Sadly, it is a lossy conversion but it works quite well in our use cases. Currently, the known limitations are listed in the README but there are probably more when considering the Descendant Selector and AbsolutePaths in filters.

I want to thank @nichtich for #61 (comment) it was an eye opener πŸ˜„ and I agree that some text would be helpful for newcomers.

from json-path-comparison.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.