Обнаружить ошибку совпадения в JMESPath

Использование Python jmespath библиотека, как я могу различить "соответствует выражению, значение 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'

Похоже, API поиска JMESPath возвращает None в этих двух разных случаях. Как звонящий может узнать разницу между ними?

1 ответ

Решение

В настоящее время кажется, что нет никакого способа отличить неудачу матча от успеха, который возвращается None,

Существует открытая проблема, требующая, чтобы это изменилось, но на данный момент ответ очевидно: "Вы не можете сделать это с jmespath".

Другие вопросы по тегам