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

jmespath compile() function raises ParseError when provided JMESPath expression is correct #326

Open
TianaPaunoska opened this issue Apr 12, 2024 · 0 comments

Comments

@TianaPaunoska
Copy link

When using the compile() function in JMESPath with a correct expression, a ParseError is raised unexpectedly.

Issue Details:

  • Input JSON data:
    { "name": "John", "last_name": "Doe" }

  • JMESPath expression:
    join('', ['Name : 'name,' ' 'Last Name : 'last_name])

  • Error message:
    jmespath.exceptions.ParseError: Expecting: comma, got: unquoted_identifier: Parse error at column 19, token "name" (UNQUOTED_IDENTIFIER), for expression: "join('', ['Name : 'name,' ' 'Last Name : 'last_name])

This issue is unexpected for the following reasons:

  1. The expression passes successfully when tested on the official JMESPath website.
  2. The same expression compiles without errors in other programming languages such as Rust and Go.
  3. The issue persists across different versions of the JMESPath module in Python, including the latest version.

Additional information:
Attaching an image demonstrating the successful execution of the expression on the official JMESPath website for reference.
Screenshot 2024-04-12 135341

The compile() function should not raise a ParseError for the provided JMESPath expression, as it is syntactically correct and passes successfully in other contexts.
Any suggestions on how to proceed with resolving this issue are highly welcomed.

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

1 participant