Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider implementing JSONPath #163

Closed
glyn opened this issue Feb 23, 2024 · 9 comments
Closed

Consider implementing JSONPath #163

glyn opened this issue Feb 23, 2024 · 9 comments

Comments

@glyn
Copy link

glyn commented Feb 23, 2024

IETF RFC 9535 defines a proposed standard for JSONPath. Other resources:

  • A partial Compliance Test Suite.
  • Behaviours of various implementations can be checked in the comparison project. Please note that the JSONPath Reference Implementation referenced in the comparison project is stalled/archived and incomplete.
  • At the time of writing, online sandboxes for RFC 9535 are available in C# and in Rust.
  • For more background and comments on the status of the CTS and RI, see this this post (also here in the IETF blog).
  • Public discussion occurs in the IETF JSONPath Working Group's mailing list (archive).

(See here for updates to this list of resources.)

Valid approaches for this project are to (a) implement the RFC in whole or in part, (b) document its behaviour relative to the RFC, and (c) do nothing.

@ohler55
Copy link
Owner

ohler55 commented Feb 23, 2024

Why is this an issue? Have you looked at OjG at all or the jp package of OjG?

@glyn
Copy link
Author

glyn commented Feb 23, 2024

Why is this an issue? Have you looked at OjG at all or the jp package of OjG?

I'm afraid I haven't had time, sorry - the issue is just one of many I'm raising to notify implementers. If there is nothing to do or no intention to do anything, please feel free to close this issue.

@ohler55
Copy link
Owner

ohler55 commented Feb 23, 2024

It is really inappropriate to spam implementors forcing them to waste time simply due to your own laziness. We work hard to provide software that others find helpful. Please be more considerate in the future. If you are going to raise an issue make sure it is appropriate and don't make demands on how to respond with an a, b, or c choice.

@ohler55 ohler55 closed this as not planned Won't fix, can't repro, duplicate, stale Feb 23, 2024
@glyn
Copy link
Author

glyn commented Feb 23, 2024

My sincere apologies for wasting your time and thanks for helping me understand your perspective.

@ohler55
Copy link
Owner

ohler55 commented Feb 23, 2024

Thank you. I think you just a hit a nerve. OjG does in fact attempt to follow the RFC which is mentioned in the README.md file. I believe OjG is the most complete go implementation of JSONPath so far. I have commented on issue on the RFC github project and have a new issue or PR to bring up based on a choice I made in the JSONPath implementation in OjG.

@glyn
Copy link
Author

glyn commented Feb 23, 2024

Thanks. I'm currently bumping @gregsdennis's JsonPath.Net to v1.0.0 on the comparison project as that also implements the RFC. Then it will be fun to play "spot the difference" between that column and OjG's.

@ohler55
Copy link
Owner

ohler55 commented Feb 23, 2024

There are still some gray areas in the spec and a lot of details to get right. I'm sure there will be differences but hopefully the gaps are getting smaller.

@glyn
Copy link
Author

glyn commented Feb 23, 2024

Yes, hopefully. If you want to log any of the gray areas, it's probably easiest to drop an issue in the spec repo. (Although I've unsubscribed, others in the JSONPath Working Group haven't).

@ohler55
Copy link
Owner

ohler55 commented Feb 23, 2024

That is the plan. I should probably stop putting it off and submit the issue. BTW, I noticed the comparison by @cburgmer is out of date for OjG so I'll reach out and try to get that updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants