Open arcivanov opened 6 months ago
from jsonpath_ng.ext import parse from pprint import pprint datum = { "a": "x", "array": [ {"bcde": "y"} ] } pprint(parse('$..*').find(datum)) pprint(parse('$..*[?@ =~ "a"]').find(datum)) pprint(parse('$..*[?@ =~ "b.*"]').find(datum))
Results:
[DatumInContext(value='x', path=Fields('a'), context=DatumInContext(value={'a': 'x', 'array': [{'bcde': 'y'}]}, path=Root(), context=None)), DatumInContext(value=[{'bcde': 'y'}], path=Fields('array'), context=DatumInContext(value={'a': 'x', 'array': [{'bcde': 'y'}]}, path=Root(), context=None)), DatumInContext(value='y', path=Fields('bcde'), context=DatumInContext(value={'bcde': 'y'}, path=Index(index=0), context=DatumInContext(value=[{'bcde': 'y'}], path=Fields('array'), context=DatumInContext(value={'a': 'x', 'array': [{'bcde': 'y'}]}, path=Root(), context=None))))] [] []
Expected results would include a and array in the second query and bcde in the third.
a
array
bcde
Results:
Expected results would include
a
andarray
in the second query andbcde
in the third.