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.

Files for jpath, version 1.6
Filename, size File type Python version Upload date Hashes
Filename, size jpath-1.6.tar.gz (4.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page