1

使用Pythonjmespath如何区分“匹配表达式,值为None”和“匹配表达式失败”?

jmespath.search函数None在两种不同的情况下返回:

>>> import jmespath

>>> foo = {'bar': {'lorem': 13, 'ipsum': None}}
>>> repr(jmespath.search('bar.lorem', foo))
'13'
>>> repr(jmespath.search('bar.ipsum', foo))    # Path matches, value None
'None'
>>> repr(jmespath.search('dolor', foo))    # Path does not match
'None'

JMESPath 搜索 API 似乎在这两种不同的情况下返回None。调用者如何知道它们之间的区别?

4

1 回答 1

1

目前似乎没有办法区分匹配失败与返回成功None

有一个未解决的问题要求这应该改变,但现在的答案显然是“你不能这样做jmespath”。

于 2016-10-25T01:02:09.087 回答