Skip to content

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

@TianaPaunoska

Description

@TianaPaunoska

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions