If data being searched contains numeric values that are large enough to become LONG (depends on sys.maxint of the platform) then jmespath.search can't find them. To illustrate lets consider the following simple query that works:
>>> jmespath.search('[?b > `2`]', [{"a": 1, "b": 2}, {"a": 1, "b": 3}])
[{'a': 1, 'b': 3}]
Then simply convert the numeric data type of the field being searched to long and note the result is no longer found:
>>> jmespath.search('[?b > `2`]', [{"a": 1, "b": 2}, {"a": 1, "b": 3L}])
[]
If data being searched contains numeric values that are large enough to become LONG (depends on sys.maxint of the platform) then jmespath.search can't find them. To illustrate lets consider the following simple query that works:
Then simply convert the numeric data type of the field being searched to long and note the result is no longer found: