Skip to main content

Access nested dicts and lists using JSON-like path notation.

Project description

Access nested dicts and lists using JSON-like path notation.

Note that this code is written for python 3.

The notation is as follows:

You can just write the names of components in your path like you would in javascript:

foo.bar.baz

To access arrays or names with spaces in them, use the ‘[]’ notation. You can use negative indices with arrays to count from the end.

[“foo”][“bar”][“baz”] array[-1].attr [3]

You can use the wildcard character ‘*’ to iterate over all elements:

foo.*.baz [“foo”][*][“baz”]

This may return more or less than a single element. Use get to get the first one, and get_all to get a list of all possibilities. If you want to skip any number of elements in path, use two dots ‘..’:

foo..baz

You can slice the arrays just like in python:

array[1:-1:2]

Finally, you can filter the elements:

foo(bar.baz=true) foo.bar(baz>0).baz foo(bar=”yawn”).bar

At the moment only =, >, <, >=, <= and != operators are available, and you can only use them with strings, integers and boolean values.

This code was written in STX Next.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jpath-1.1.tar.gz (4.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page