Jmespath error when using "multiselect"

Hey,

I’m getting a couple of errors when using the following jmespath expression source.items[].{id: product_id, name: name, qty: qty_invoiced} while this expression works fine when using the homepage of jmespath with the same data. I’m getting the following error:

JmesPath\SyntaxErrorException: Syntax error at character 0
source.items[].{id: product_id, name: name, qty: qty_invoiced
^
Expected one of the following: colon; found eof "" in /resources/fileshare/deployer/releases/2024-11-13-02-56-38-b55c63b/vendor/mtdowling/jmespath.php/src/Parser.php:466
Stack trace:
#0 /resources/fileshare/deployer/releases/2024-11-13-02-56-38-b55c63b/vendor/mtdowling/jmespath.php/src/Parser.php(485): JmesPath\Parser->syntax(Array)
#1 /resources/fileshare/deployer/releases/2024-11-13-02-56-38-b55c63b/vendor/mtdowling/jmespath.php/src/Parser.php(359): JmesPath\Parser->next(Array)
#2 /resources/fileshare/deployer/releases/2024-11-13-02-56-38-b55c63b/vendor/mtdowling/jmespath.php/src/Parser.php(163): JmesPath\Parser->parseKeyValuePair()
#3 /resources/fileshare/deployer/releases/2024-11-13-02-56-38-b55c63b/vendor/mtdowling/jmespath.php/src/Parser.php(97): JmesPath\Parser->nud_lbrace()
#4 /resources/fileshare/deployer/releases/2024-11-13-02-56-38-b55c63b/vendor/mtdowling/jmespath.php/src/Parser.php(352): JmesPath\Parser->expr(9)

When using the a value setter with the following expression: &{source.items[].{id: product_id, name: name, qty: qty_invoiced}}

The error seems to parse the expression with a } missing at the end?

Hi @peep_toppy,

If you want to have syntax with curly braces, you should escape the closing brace, as shown below.

 &{source.items[].{id: product_id, name: name, qty: qty_invoiced\}}

Please give it a try and let us know if it doesn’t work.

2 Likes