Python jmespath选择第一个匹配的属性

Python jmespath选择第一个匹配的属性,python,jmespath,Python,Jmespath,我想知道是否有一种简洁的方法可以用jmespath表达foo.bar | | foo.boo >>> import jmespath >>> jmespath.search("foo.bar||foo.boo", {"foo":{"bar":"a", "boo":"b"}}) 'a' >>> jmespath.search("foo.[bar||boo]", {"foo":{"bar":"a", "boo":"b"}}) ['a'] >

我想知道是否有一种简洁的方法可以用jmespath表达
foo.bar | | foo.boo

>>> import jmespath
>>> jmespath.search("foo.bar||foo.boo", {"foo":{"bar":"a", "boo":"b"}})
'a'
>>> jmespath.search("foo.[bar||boo]", {"foo":{"bar":"a", "boo":"b"}})
['a']
>>> jmespath.search("foo.[bar||boo][0]", {"foo":{"bar":"a", "boo":"b"}})
'a'
是否有一种方法将路径表示为
foo.(bar | | boo)
导致所需的(
scalar
array
)结果
'a'

编辑:

它似乎使用
|
而不是

>>> jmespath.search("foo|bar||boo", {"foo":{"bar":"a", "boo":"b"}}) 
'a'

使用
foo.(bar | | boo)
时会发生什么情况?
jmespath.exceptions.ParseError:Expecting:['quoted|u identifier','unquoted|identifier','lbracket','lbrace'],get:lparen:Parse error在第4列,token“(“(lparen),用于表达式:“foo.(bar | | boo)”